如何在PHP中使用cURL发布登录信息然后使用GET登陆器?

时间:2018-04-16 20:54:18

标签: php curl post https get

我在php中使用curl提交登录表单数据,从我观察到的登录POST没有响应 - 登陆页面由后续的GET请求加载。我想知道的是如何使用curl然后获取GET进行POST?作为参考,这是我目前的代码:

    $ch = curl_init('https://<my url>');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Accept: text/html',
    ));

    curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
    curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_AUTOREFERER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

    curl_setopt($ch, CURLOPT_POST, 2);
    curl_setopt($ch, CURLOPT_POSTFIELDS, 'my post fields');

    $result = curl_exec($ch);

    // I need to make a get request to get the loggedin page here!?
    curl_setopt($ch, CURLOPT_URL, 'https:<another_url>');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, 0);

    $result = curl_exec($ch);

    echo curl_errno($ch);

我目前收到来自我的POST的错误52,这是没有回应,我认为应该是预期的。问题是,当我尝试进行GET时,我也得到了错误。另外,为了进行健全检查,我检索了我的帖子字段,从chrome dev工具中获取网络数据中的表单数据。

提前感谢您的帮助!

0 个答案:

没有答案