从浏览器检索cookie是否可以使用php curl?

时间:2018-07-13 02:08:38

标签: php curl cookies web-scraping http-headers

我有一个简单的php应用程序,可从网站获取价格,但只有在我从页面的chrome浏览器请求中复制cookie时,它才能正常工作。我可以简单地在cookie中复制/粘贴此CURLOPT_HTTPHEADER行,它将永远有效吗?

此外,当我也设置代理时,它可以完美工作。我不知道为什么谁能解释我?

谢谢

1 个答案:

答案 0 :(得分:2)

如果您有cookie的内容(从浏览器复制),如果您使用的是带有curl的php,则有几种选择 如果Cookie很少更改和/或您有简单的脚本,则可以使用CURLOPT_COOKIE将该Cookie嵌入脚本中,如示例所示。

curl_setopt ($ch, CURLOPT_COOKIE, <COOKIE_STRING_CONTENT>);

这是最简单的方法,但需要注意的是,每次cookie更改时,您都需要更新脚本。

如果您需要更具延展性,更易于更新和维护的东西,则可以将这两个指令CURLOPT_COOKIEFILE和CURLOPT_COOKIEJAR用作波纹管,

$cookieFile = "name_of_the_cookie_file_on_the_server"
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookieFile);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookieFile);

此操作是指示脚本加载cookie文件,并将更改存储在同一文件(如果有)上,这样,如果您需要更新cookie的内容,则只需要更新de cookie文件即可。

curl有很多不错的选择,请不要忘记阅读http://php.net/manual/en/function.curl-setopt.php

中的文档