curl .net https页面登录问题500内部服务器错误

如何解决curl .net https页面登录问题500内部服务器错误

| 当我尝试使用curl登录页面时,出现500 Internal Server Error。页面位于https上。 这是登录功能
 function login ($login,$pass) {

    $loginURL = \"https://bitomat.pl/Account/logon\";
    $loginPage = $this->curl->getPage($loginURL);
    $numStart = strpos(htmlentities($loginPage[\'content\']),\"type="hidden" value="\");
    $numEnd = strpos(htmlentities($loginPage[\'content\']),\"<fieldset>\");
    $verNum = substr(htmlentities($loginPage[\'content\']),$numStart+36,64);
    echo $numStart.\" - \".$numEnd.\" - \".$verNum.\"<br>\";
    $page = $this->curl->post($loginURL,\"__RequestVerificationToken=\".urlencode($verNum).\"&UserName=$login&Password=\".urlencode($pass).\"&RememberMe=false\");

    echo nl2br(htmlentities($page[\'content\']));

}
作为回应,我得到:
   HTTP/1.1 500 Internal Server Error
   Cache-Control: private
   Content-Type: text/html; charset=utf-8
   Server: Microsoft-IIS/7.0
   X-AspNetMvc-Version: 2.0
   X-AspNet-Version: 4.0.30319
   X-Powered-By: ASP.NET
   Date: Sat,25 Jun 2011 16:32:18 GMT
   Content-Length: 3974
CUrl发布功能
function post($url,$params) {
    $rnd = rand(0,10000000000);

    $options = array(
        CURLOPT_COOKIESESSION => true,CURLOPT_COOKIEFILE => \"cookie/cookieBitomat\",// . $rnd,CURLOPT_COOKIEJAR => \"cookie/cookieBitomat\",CURLOPT_RETURNTRANSFER => true,// return web page
        CURLOPT_HEADER => true,// don\'t return headers
        CURLOPT_FOLLOWLOCATION => true,// follow redirects
        CURLOPT_POST => true,CURLOPT_POSTFIELDS => $params,CURLOPT_USERAGENT => \"Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1\",// who am i
        CURLOPT_AUTOREFERER => true,// set referer on redirect
        CURLOPT_CONNECTTIMEOUT => 60,// timeout on connect
        CURLOPT_TIMEOUT => 60,// timeout on response
        CURLOPT_MAXREDirs => 20,// stop after 10 redirects
        CURLOPT_SSL_VERIFYPEER => false,CURLOPT_VERBOSE => TRUE,CURLOPT_HTTPHEADER => array(\"Content-Type: application/x-www-form-urlencoded\",\"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\",\"Host: bitomat.pl\",\"Accept-Language: pl,en-us;q=0.7,en;q=0.3\",\"Accept-Encoding: gzip,deflate\",\"Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7\",\"Keep-Alive: 115\",\"Connection: keep-alive\",\"Referer: https://bitomat.pl/Account/logon\"
            )
    );


    $ch = curl_init($url);
    curl_setopt_array($ch,$options);
    $content = curl_exec($ch);
    $err = curl_errno($ch);
    $errmsg = curl_error($ch);
    $header = curl_getinfo($ch);
    curl_close($ch);

    $header[\'errno\'] = $err;
    $header[\'errmsg\'] = $errmsg;
    $header[\'content\'] = $content;
    return $header;
}
    

解决方法

        在这种情况下,通常您会得到500,因为您的HTTP请求与浏览器在这种情况下所做的请求有所不同,并且服务器端脚本会对此有所假设。 确保检查“实时”请求并尽可能地模仿。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?