【问题标题】:cURL returns please enable cookies?cURL 返回请启用 cookie?
【发布时间】:2018-09-25 00:03:01
【问题描述】:

似乎我需要一些帮助来设置我的 cURL,我正在尝试从我的服务器对外部网站进行 API 调用。 让我烦恼的是,有时这段代码可以工作并返回预期的结果,但有时它会返回此消息:

这是我的代码:

$path_cookie = 'cookie.txt';
if (!file_exists(realpath($path_cookie))) touch($path_cookie);

$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/api/findusers/".$nick_list."?key=".$voobly_key);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, realpath($path_cookie));
$headers = [
        'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36',
        'cookie: __cfduid=d0d14dfd36e0da8e7858b58873b4263181523751395'
];

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);


$response = curl_exec($ch);
curl_close($ch);
echo "rep : $response";

是我的问题还是来自外部服务器?

我的 cookie.txt 看起来像这样:

# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.

#HttpOnly_.example.com  TRUE    /   FALSE   1555287395  __cfduid    d0d14dfd36e0da8e7858b58873b4263181523751395

【问题讨论】:

  • 直接从浏览器访问是否有效?
  • 是的,确实如此......这就是为什么我认为问题出在我这边
  • 可能服务器正在检查通常从浏览器发送的标头,请尝试发送它们。
  • 我如何知道需要哪些标头?你有清单吗?
  • 设置User-agent 标头。您可以通过转到开发人员工具中的 Network 选项卡来查看请求中发送的标头。

标签: php curl cookies


【解决方案1】:

curl 内置了一个完整的 cookie“引擎”。
如果你激活它,你可以让 curl 像浏览器一样接收和发送 cookie。

命令行选项:

-b, --cookie

告诉 curl 一个文件来读取 cookie 并启动 cookie 引擎,或者 如果它不是文件,它将传递给定的字符串。 -b name=var 有效 -b cookiefile 也是如此。

-j, --junk-session-cookies

当与 -b 结合使用时,它将跳过所有“会话 cookie” 加载时似乎开始了一个新的 cookie 会话。

-c, --cookie-jar

告诉 curl 启动 cookie 引擎并将 cookie 写入给定的 请求后的文件

参考:https://curl.haxx.se/docs/http-cookies.html

【讨论】:

【解决方案2】:

好吧,他们的 cloudflare 系统只是阻止了我服务器的 IP(它是共享的),获得一个拥有自己 IP 的新主机解决了这个问题...... 谢谢你们的时间,谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-12
    • 2016-04-28
    • 2019-03-09
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-17
    相关资源
    最近更新 更多