我有一个简单的php应用程序,可从网站获取价格,但只有在我从页面的chrome浏览器请求中复制cookie
时,它才能正常工作。我可以简单地在cookie
中复制/粘贴此CURLOPT_HTTPHEADER
行,它将永远有效吗?
此外,当我也设置代理时,它可以完美工作。我不知道为什么谁能解释我?
谢谢
答案 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
中的文档