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

时间:2009-09-23 23:33:11

标签: php curl https

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 );

}

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

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

1 个答案:

答案 0 :(得分:1)

cookie jar只会保存cookie,但是在下次请求时你也需要发回cookie ..查看CURLOPT_COOKIEFILE