我们希望为不同的软件提供一个独特的登录表单。我们编写了一个登录表单来获取用户名和密码,然后使用 curl 和 PHP 将它们发送到 ASP.Net 软件,如下所示:
define("COOKIE_FILE", "cookie.txt");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://192.168.100.1/webrest/default.aspx");
curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIE_FILE);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: 192.168.100.1'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_POSTFIELDS,
array(
'txtUserName' => 'user',
'txtPassword' => 'pass',
'__VIEWSTATE' => '/wEPDwUKLTg1ODEyNzU0Mg9kFgICAw9kFgQCDw8PFgIeBFRleHQFMdmH2YTYr9uM2YbaryDYsdi02K8g2b7Yp9uM2K/Yp9ixINin24zYsdin2YbbjNin2YZkZAIRDw8WAh8ABZQB2KrZ',
'__VIEWSTATEGENERATOR' => '',
'__EVENTVALIDATION' => '',
)
);
$server_output = curl_exec ($ch);
echo $server_output;
curl_close ($ch);
但是我们无法登录并再次获取登录表单的来源作为输出而没有任何错误!我们可以登录然后将用户发送到“ http://192.168.100.1/webrest/reserve.aspx ”这样的目标页面吗?