我在使用cURL时遇到了一些问题(使用PHP)。基本上我想登录并在网站上执行一些功能。这通常没问题,但是每次访问登录页面时,网站都会为登录页面生成一个唯一的URL以及一个动态/唯一的POST URL。
因此 - 我当前正在导航到登录页面,然后抓取页面以检索唯一的POST URL(我成功地做了这个),然后制定POST请求并将其分派给唯一的URL。虽然它不起作用,但我认为这个问题要么与cookie有关,要么就是我没有让会话保持开放......
首先,我不知道为什么没有保存cookie(但是它们仅用于那个浏览器会话,也许这可能是原因?)..我已经创建了一个存储cookie的测试页面工作......所以也许这不是我的问题。
其次,我不认为我会保持会议开放。我在打电话:
$curl = curl_init();
然后抓取唯一的POST网址,然后调用$ch = curl_init($loginPostUrl);
初始化我的POST请求,最后完成后
curl_close($ch);
curl_close($curl);
但是,我不认为这会在发出请求时保持初始会话开放(因此我检索到的POST网址无效..)
有人可以在同一会话中解释如何处理这些请求吗?
对不起 - 我的解释很差,我会试着澄清一下人们是否理解。
非常感谢:)
答案 0 :(得分:3)
如果您使用cURL访问该页面,则Cookie不会存储在您的浏览器中。 这是正常的:脚本正在执行请求服务器端,这与浏览器处理cookie的方式无关。
要实现您的目标,您可以使用cURL将Cookie保存在文件中,以后可以随请求一起发送。
要创建或使用此文件,请执行:curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookieJar);
(其中$cookieJar
是您要在其中保存Cookie的文件的路径。)
要发送cookie以及您的请求,请执行以下操作:
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookieJar);
我希望这能回答你的问题。