登錄URL
登錄到遠程站點是:通過登錄頁面https://192.X.X.X/abc/Login.aspx?FromMasterLogin=true
通過PHP捲曲
部首數據發送:
__EVENTTARGET:btnLogin __EVENTARGUMENT: __VIEWSTATE:/ wEPDwULLTEwNzI1MzU5MzBkGAIFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYGBQhidG5Mb2dpbgUPYnRuQ2xlYXJTZXNzaW9uBRFSYWRXaW5kb3dNYW5hZ2VyMQUOcmR3aW5kb3dGb3JnZXQFD3Jkd2luZG93RW5mb3JjZQUYcmRXaW5kb3dQdWJsaWNOZXdzQWxlcnRzBQpyYWRDYXB0Y2hhDxQrAAIFJDQyM2FlNDE3LTEwMTctNDE2OS1hNjgzLTBmMjMyZDZkMDdmZAYAAAAAAAAAAGQdkHIfEfL2XAG + 8 +/wu30lMfjmEwOeIiiC7jveX5PnZg == __EVENTVALIDATION:/ wEdAAfBlkUqNKBEV3moC9pS8IJTY3plgk0YBAefRz3MyBlTcJxpWckI3qdmfEJVCu2f5cGinihG6d/Xh3PZm3b5AoMQf2Dr69OxAarGhVFbQWZWFpd + ecw9lQ5sg8SY03yGmgNKhPS/+ yQ5 + zLwEb8uDfAwYKkBfoLWkbIJoPnHfXTqz5B/= txtUserName GZyy44ThZCPCAskCEVA:管理員 txtUserName_ClientState:{ 「啓用」:真 「emptyMessage」: 「」}啓用 txtpassword:管理員@ 123 txtpassword_ClientState {「 「:真正的」 emptyMessage 「:」「} btnLogin_ClientState:btnClearSession_ClientState: rdwindowForget_ClientState:rdwindowEnforce_ClientState: rdWindowPublicNewsAlerts_ClientState:RadWindowManager1_ClientState:
下面是代碼
<?php
//username and password of account
$username = 'admin';
$password = '[email protected]';
//login form action url
$url="https://192.168.X.X/abc/Login.aspx?FromMasterLogin=true";
$postinfo ='txtUserName:admin&txtpassword:[email protected]';
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_NOBODY, false);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
//set the cookie the site has for certain features, this is optional
curl_setopt($ch, CURLOPT_COOKIE, "cookiename=0");
curl_setopt($ch, CURLOPT_USERAGENT,
"Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, $_SERVER['REQUEST_URI']);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postinfo);
curl_exec($ch);
//page with the content I want to grab
//curl_setopt($ch, CURLOPT_URL, "https://192.168.X.X/abc/MemberManagement/MemberFileDownload.aspx");
//do stuff with the info with DomDocument() etc
$html = curl_exec($ch);
echo $html;
curl_close($ch);
?>
但結果表明會話過期。
你的代碼不獲取會話,也沒有模仿1.修復你的代碼先取得一個會話cookie,然後嘗試登錄(或交替。 ,通過克隆cookie會話ID使其模擬您的瀏覽器的會話) – hanshenrik