2010-01-15 67 views
0

我一直在嘗試自動登錄到特定的網頁,但直到現在沒有成功。PHP cUrl模仿web登錄

我會很感激的任何幫助,讓我感動....

這是登錄頁面的網址:

https://www.cellcom.co.il/login/pages/default.aspx

第一個字段是用戶名和第二是爲了密碼。我一直在使用Live HTTP頭插上但沒能登錄。

感謝


我已經接近了解決這個問題。 我想出了一個POST表單字段作爲嵌入部分值的動態變化。 所以我需要做的就是獲取這個嵌入部分值並添加一些靜態文本。 獲取完整的字段值。

如何獲得POST表單字段值? (I見過的值,而在尋找的形式的源代碼)

我還注意到,有在端部小絃動態改變

下面是一個例子爲字符串:

1)__ EVENTVALIDATION =%2FwEWBQLh6fTmCwLEh%2FPQBQLquryWCwLdkfOzBAKJwsCnBDoiuyJEoeA1mA05RcQwJ0YqLNx4

2)__ EVENTVALIDATION =%2FwEWBQLj%2BKPzBgLEh%2FPQBQLquryWCwLdkfOzBAKJwsCnBELoi3vgs%2BqAdCbcwk%2BkyCQwEq30

有誰知道如何生成這個字符串? 它與日期或類似的東西有關嗎?

由於

編輯:所有的動態值被嵌入在HTTP源文件英寸 使用PHP可以輕鬆解析這些值嗎? 如果是這樣,怎麼樣?

+1

請告訴我們迄今爲止所做的一切,代碼明智。 – codaddict 2010-01-15 11:45:33

+0

這是我使用的模板: http://www.mediafire.com/?yyn0yt4ezxy 謝謝 – Embedded 2010-01-15 12:30:13

回答

0

仍然沒有成功。 我想我錯過了一些小細節。

這裏是POST形式:

形式名稱= 「aspnetForm」 方法= 「郵報」 行動=「默認值。ASPX」 ID = 「aspnetForm」 自動填充= 「關閉」

INPUT TYPE = 「隱伏」 名稱= 「__ SPSCEditMenu」 ID = 「__ SPSCEditMenu」 值= 「真」/ INPUT TYPE = 「隱藏」 名稱= 「MSOWebPartPage_PostbackSource」 id =「MSOWebPartPage_PostbackSource」value =「」/ input type =「hidden」name =「MSOTlPn_SelectedWpId」id =「MSOTlPn_SelectedWpId」value =「」/> input type =「hidden」name =「MSOTlPn_View」id =「MSOTlPn_View」值= 「0」/>

INPUT TYPE = 「隱藏」 名稱= 「MSOTlPn_ShowSettings」 ID = 「MSOTlPn_ShowSettings」 值= 「假」/> INPUT TYPE = 「隱藏」 名稱= 「MSOGallery_SelectedLibrary」 ID =「MSOGallery_SelectedLibrary 「value =」「/> input type =」hidden「name =」MSOG allery_FilterString「id =」MSOGallery_FilterString「value =」「/> input type =」hidden「name =」MSOTlPn_Button「id =」MSOTlPn_Button「value =」none「/> input type =」hidden「name =」__ REQUESTDIGEST「id = 「__ REQUESTDIGEST」 值= 「0xFFD5F7BB65113ADA485BE8F57AF640C45348305D1590E21AEF42305F6FB76DAF255DAD98F5110B3065ADAC1AE647B87F1309481C513057EC9C2C9EB5C71770D4,15 2010年1月19點29分23秒-0000」/> INPUT TYPE = 「隱藏」 名稱= 「MSOAuthoringConsole_FormContext」 ID = 「MSOAuthoringConsole_FormContext」 值= 「」/> INPUT TYPE =」隱藏「name =」MSOAC_EditDuringWorkflow「id =」MSOAC_EditDuringWorkflow「value =」「/> input type =」hidden「name =」MSOSPWebPartManager_DisplayModeName「id =」MSOSPWebPartManager_DisplayModeName「value =」瀏覽「/> input type =」hidden「name =「MSOWebPartPage_Shared」id =「MSOWebPartPage_Shared」value =「」/> input type =「hidden」name =「MSOLayout_LayoutChanges」id =「MSOLayout_LayoutChanges」value =「」/> input type =「hidden」name =「MSOLayout_InDesignMode」id =「MSOLayout_InDesignMode」value =「」/> 「hidden」name =「MSOSPWebPartManager_OldDisplayModeName」id =「MSOSPWebPartManager_OldDisplayModeName」value =「Browse」/> input type =「hidden」name =「MSOSPWebPartManager_StartWebPartEditingName」id =「MSOSPWebPartManager_StartWebPartEditingName」value =「false」/> input type =「hidden」 「名稱=」 __ VIEWSTATE」 ID = 「__ VIEWSTATE」 值= 「/ wEPDwUBMA9kFgJmD2QWAgIBDxYCH ==」/>

,這是我使用的代碼: 功能HTTP($目標,$ REF,$方法,$ data_array中,$ incl_head) { #初始化PHP/CURL句柄 $ ch = curl_init();

# HEAD method configuration 
if($method == HEAD) 
    { 
    curl_setopt($ch, CURLOPT_HEADER, TRUE);    // No http head 
    curl_setopt($ch, CURLOPT_NOBODY, TRUE);    // Return body 
    } 
else 
    { 
    # GET method configuration 
    if($method == GET) 
     { 
     if(isset($query_string)) 
      $target = $target . "?" . $query_string; 
     curl_setopt ($ch, CURLOPT_HTTPGET, TRUE); 
     curl_setopt ($ch, CURLOPT_POST, FALSE); 
     } 
    # POST method configuration 
    if($method == POST) 
     { 
     if(isset($data_array)) 
      curl_setopt ($ch, CURLOPT_POSTFIELDS, $data_array); 
     curl_setopt ($ch, CURLOPT_POST, TRUE); 
     curl_setopt ($ch, CURLOPT_HTTPGET, FALSE); 
     } 
    curl_setopt($ch, CURLOPT_HEADER, $incl_head); // Include head as needed 
    curl_setopt($ch, CURLOPT_NOBODY, FALSE);  // Return body 
    } 

curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIE_FILE); // Cookie management. 
curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIE_FILE); 
curl_setopt($ch, CURLOPT_TIMEOUT, CURL_TIMEOUT); // Timeout 
curl_setopt($ch, CURLOPT_USERAGENT, WEBBOT_NAME); // Webbot name 
curl_setopt($ch, CURLOPT_URL, $target);    // Target site 
curl_setopt($ch, CURLOPT_REFERER, $ref);   // Referer value 
curl_setopt($ch, CURLOPT_VERBOSE, FALSE);   // Minimize logs 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // No certificate 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);  // Follow redirects 
curl_setopt($ch, CURLOPT_MAXREDIRS, 4);    // Limit redirections to four 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);  // Return in string 

我使用這個網址是我從現場HTPP頭提取形式: https://www.cellcom.co.il/siteminderagent/forms/login.fcc

什麼ü想的? 它有道理嗎?