Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么PHP cURL不设置cookie?_Php_Curl_Cookies - Fatal编程技术网

为什么PHP cURL不设置cookie?

为什么PHP cURL不设置cookie?,php,curl,cookies,Php,Curl,Cookies,我正在处理两个后续请求,第一个是login,这个请求设置了登录会话cookie 第二个请求是常规请求,我希望第一个请求中的cookie已经设置好 问题在于,尽管远程服务器将set cookie头发回,但cURL在第一次请求时并没有设置cookie 下面是处理第一个请求的详细结果 > POST /account/login HTTP/1.1 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Geck

我正在处理两个后续请求,第一个是login,这个请求设置了登录会话cookie

第二个请求是常规请求,我希望第一个请求中的cookie已经设置好

问题在于,尽管远程服务器将set cookie头发回,但cURL在第一次请求时并没有设置cookie

下面是处理第一个请求的详细结果

> POST /account/login HTTP/1.1
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8
Host: forwp.accounts.clickbank.com
Accept: */*
Referer: http://www.bing.com/
Content-Length: 90
Content-Type: application/x-www-form-urlencoded

* upload completely sent off: 90 out of 90 bytes
< HTTP/1.1 302 Found
< Date: Mon, 26 Oct 2015 12:03:17 GMT
* Server Apache is not blacklisted
< Server: Apache
< SET-COOKIE: token=Zm9yd3A6MTQ0NTg5Njk5NzkxOTowMzFhZWQzM2NmYzk0YmQ5MDY0YjEyMzQzOWU1NmZmMQ; Path=/; Domain=forwp.accounts.clickbank.com; Secure; HttpOnly;
< Set-Cookie: JSESSIONID=72878AC21A7658ADC34514BB1CD9A936.AW1; Path=/; Secure; HttpOnly
< Location: https://forwp.accounts.clickbank.com/account/mainMenu.htm
< Content-Length: 0
>POST/account/login HTTP/1.1
用户代理:Mozilla/5.0(Windows;U;Windows NT 5.1;en-US;rv:1.9.0.8)Gecko/2009032609 Firefox/3.0.8
主持人:forwp.accounts.clickbank.com
接受:*/*
推荐人:http://www.bing.com/
内容长度:90
内容类型:application/x-www-form-urlencoded
*完全发送上载:90个字节中的90个
找到
在我的本地PC上运行相同的请求,它会设置cookie而不会出现任何问题

* upload completely sent off: 124 out of 124 bytes
< HTTP/1.1 302 Found
< Date: Mon, 26 Oct 2015 12:04:45 GMT
* Server Apache is not blacklisted
< Server: Apache
* Added cookie token="c3dlZXRoZWF0bToxNDQ1ODk3MDg1OTQ2OjRjNjhmMGMzODIzZmJmOTVhNWYzMzMxNzUyNmY4NWY4" for domain sweetheatm.accounts.clickbank.com, path /, expire 0
< SET-COOKIE: token=c3dlZXRoZWF0bToxNDQ1ODk3MDg1OTQ2OjRjNjhmMGMzODIzZmJmOTVhNWYzMzMxNzUyNmY4NWY4; Path=/; Domain=sweetheatm.accounts.clickbank.com; Secure; HttpOnly;
* Added cookie JSESSIONID="7E3C5B212D0C1428102A65BDAE57F100.AW1" for domain sweetheatm.accounts.clickbank.com, path /, expire 0
< Set-Cookie: JSESSIONID=7E3C5B212D0C1428102A65BDAE57F100.AW1; Path=/; Secure; HttpOnly
< Location: https://sweetheatm.accounts.clickbank.com/account/mainMenu.htm
< Content-Length: 0
*上传已完全发送:124字节中的124字节
找到

可能是什么问题?

您是否将cookies保存在某个地方?您的浏览器会自动执行此操作,但您需要明确地告诉
cURL
-例如,请参阅:您能显示发出第一个请求的代码吗?确保我已设置了CURLOPT_COOKIEJAR,并使用绝对路径,确保它存在且可写。