繁体   English   中英

PHP cUrl模拟Web登录

[英]PHP cUrl mimic web login

我一直在尝试自动登录到特定网页,但到目前为止没有成功。

我真的很感谢能帮助我前进的任何帮助。

这是登录页面的URL:

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

第一个字段用于用户名,第二个字段用于密码。

我一直在使用Live HTTP标头插件,但无法登录。

谢谢。


我快要解决这个问题。 我发现一个POST表单字段是嵌入的部分值,该值动态变化。 因此,我要做的就是获取此嵌入的部分值并向其中添加一些静态文本。 以获得完整的字段值。

如何获取POST表单字段值? (在查看表单源代码时,我已经看到了价值)

我还注意到结尾处有一个小的字符串,它会动态变化

这是该字符串的示例:

1)__ EVENTVALIDATION =%2FwEWBQLhh6fTmCwLEh%2FPQBQLquryWCwLdkfOzBAKJwsCnBDoiuyJEoeA1mA05RcQwJ0YqLNx4

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

有人知道如何生成此字符串吗? 它与日期有关吗?

谢谢

编辑:所有动态值都嵌入在HTTP源文件中。 是否可以使用PHP轻松解析这些值? 如果是这样,怎么办?

仍然没有成功。 我想我缺少一些微小的细节。

这是POST表单:

表单名称=“ aspnetForm”方法=“发布” action =“ default.aspx” id =“ aspnetForm” autocomplete =“ off”

输入type =“ hiden” name =“ __ SPSCEditMenu” id =“ __ SPSCEditMenu” value =“ true” /输入type =“ hidden” name =“ MSOWebPartPage_PostbackSource” id =“ MSOWebPartPage_PostbackSource” value =“” /输入type =“ hidden”名称=“ MSOTlPn_SelectedWpId” id =“ MSOTlPn_SelectedWpId” value =“” />输入类型=“ hidden” name =“ MSOTlPn_View” id =“ MSOTlPn_View” value =“ 0” />

输入type =“ hidden” name =“ MSOTlPn_ShowSettings” id =“ MSOTlPn_ShowSettings” value =“ False” />输入type =“ hidden” name =“ MSOGallery_SelectedLibrary” id =“ MSOGallery_SelectedLibrary” value =“” />输入type =“ hidden “ name =” MSOGallery_FilterString“ id =” MSOGallery_FilterString“ value =”“ />输入类型=” hidden“ name =” MSOTlPn_Button“ id =” MSOTlPn_Button“ value =” none“ />输入类型=” hidden“ name =” __ REQUESTDIGEST “ id =” __ REQUESTDIGEST“ value =” 0xFFD5F7BB65113ADA485BE8F57AF640C45348305D1590E21AEF42305F6FB76DAF255DAD98F5110B3065ADAC1AE647B87F1309481C513057EC9C2C9EB5C71770D4,Auth_O“ _”类型“ /字段” _A“ _” _“ _”“隐藏的” name =“ MSOAC_EditDuringWorkflow” id =“ MSOAC_EditDuringWorkflow” value =“” />输入type =“ hidden” name =“ MSOSPWebPartManager_DisplayModeName” id =“ MSOSPWebPartManager_DisplayModeName” value =“浏览” />输入type =“ hidden” name =“ MSOWebPartPage_Shared“ id =” MSOWebPartPage_Shared“ value =”“ />输入类型=“ hidden” name =“ MSOLayout_LayoutChanges” id =“ MSOLayout_LayoutChanges” value =“” />输入类型=“ hidden” name =“ MSOLayout_InDesignMode” id =“ MSOLayout_InDesignMode” value =“” />输入type =“隐藏的“ name =” MSOSPWebPartManager_OldDisplayModeName“ id =” MSOSPWebPartManager_OldDisplayModeName“ value =”浏览“ />输入类型=” hidden“ name =” MSOSPWebPartManager_StartWebPartEditingName“ id =” MSOSPWebPartManager_StartWebPartEditingName“ value =” false“ />输入类型=” hidden“ name = “ __VIEWSTATE” id =“ __ VIEWSTATE” value =“ / wEPDwUBMA9kFgJmD2QWAgIBDxYCH ==” />

这是我正在使用的代码:function http($ target,$ ref,$ method,$ 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

我正在使用从Live HTPP标头中提取的以下URL: https//www.cellcom.co.il/siteminderagent/forms/login.fcc

你怎么看? 是否有意义?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM