I 로컬 사이트의 로그인 폼에서 외부 사이트 응용 프로그램 (asp.net 응용 프로그램)에 로그인 할 수있는 다음 코드 (PHP로 작성된)이 있습니다PHP 컬 - 게시의 asp.net viewstate가 값
<?php
$curl_connection = curl_init('www.external.com/login.aspx');
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_USERAGENT,
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);
// Post data array
$post_data['LoginControl$UserName'] = 'ExampleUName';
$post_data['LoginControl$Password'] = 'ExamplePWord';
// Add form fields into an array to get ready to post
foreach ($post_data as $key => $value)
{
$post_items[] = $key . '=' . $value;
}
$post_string = implode ('&', $post_items);
// Tell cURL which string to post
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);
// Execute and post
$result = curl_exec($curl_connection);
?>
I을 로그인 한 응용 프로그램으로 이동하는 대신 외부 사이트의 로그인 양식으로 이동하십시오. 문제는 viewstate 값을 전달해야하지만 그 방법에 대해 어떻게 할 지 모르겠다는 것입니다.
외부 응용 프로그램을 제어 할 권한이 없습니다. 그러나 우리는 사용자가 브랜딩 등을 유지하기 위해 웹 사이트를 통해 응용 프로그램에 로그인 할 수 있기를 바랍니다.
최근에 php cURL을 사용하는 것에 대해 다른 스레드를 게시했지만 지금은 무대에 있습니다. 내가 viewstate가 문제라고 생각하는 곳 ...
감사합니다.
덕분에 - 응답 에드을 위해 .. 외부 사이트에 로그인 양식에 –