使用 cURL(或更好的东西)提交 HTTPS 表单

发布于 2024-08-05 09:52:53 字数 919 浏览 4 评论 0原文

function login_board($url,$ch)
{

    $cookie="cookie.txt";
    curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" );
    curl_setopt( $ch, CURLOPT_URL, $url );
    curl_setopt( $ch, CURLOPT_COOKIEJAR, $cookie );
    curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
    curl_setopt( $ch, CURLOPT_ENCODING, "" );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );    # required for https urls
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt ($ch, CURLOPT_POSTFIELDS, 'user_id=myid&password=mypass&action
    =login');
    curl_setopt ($ch, CURLOPT_POST, 1);
    echo $content = curl_exec( $ch );

}

以下方法不会让我登录该网站。如果我连续运行两次,它只会再次显示登录页面,而不是显示欢迎屏幕。

如果我尝试访问其中的页面,它会给我一个错误的请求。

function login_board($url,$ch)
{

    $cookie="cookie.txt";
    curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" );
    curl_setopt( $ch, CURLOPT_URL, $url );
    curl_setopt( $ch, CURLOPT_COOKIEJAR, $cookie );
    curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
    curl_setopt( $ch, CURLOPT_ENCODING, "" );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );    # required for https urls
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt ($ch, CURLOPT_POSTFIELDS, 'user_id=myid&password=mypass&action
    =login');
    curl_setopt ($ch, CURLOPT_POST, 1);
    echo $content = curl_exec( $ch );

}

The following approach doesn't log me into the site. If I run this twice consecutively, it just shows me the login page again instead of showing me the welcome screen.

If I try to access a page inside, it gives me a bad request.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

青衫负雪 2024-08-12 09:52:53

cookie jar 只会保存 cookie,但是在下一个请求中,您还需要发回 cookie .. 查看 CURLOPT_COOKIEFILE

cookie jar will only save the cookie, however on the next requests u need to send back the cookie as well .. look into CURLOPT_COOKIEFILE

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文