我没有使用PHP CURL,只是像命令行一样运行如下:
curl -i -L -c cookies/mywebsite.com.txt -A 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0' https://www.mywebsite.com/
打印结果,我在PHPSESSID的标题中收到Set-Cookie
,因此在初次联系时,该网站正在设置会话cookie,并且我验证了cookie jar文件cookies/mywebsite.com.txt
是否已设置为这个信息。
但是,我怀疑卷曲,在我打电话的下一页(例如https://www.mywebsite.com/about-us
)上,并没有发送上一页的cookie信息,因为我注意到我再次得到{{1标题行,但具有不同的PHPSESSID值。
有没有办法验证这个,以及可能导致它的原因?
注意:权限不是问题,因为cookie jar文件由www-data(apache用户)拥有,并且显然它正在被写入。它只是没有持久的会话,我不知道如何知道什么卷发发送OUT作为标题,只是它正在接收。
答案 0 :(得分:0)
为了发送和接收cookie,我发现我需要同时执行-b
和-c
开关:
curl -i -L -b cookies/mywebsite.com -c cookies/mywebsite.com.txt -A 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0' https://www.mywebsite.com/
我在第9.2节找到并使用了最后一个例子: http://curl.haxx.se/docs/httpscripting.html#Cookie_Basics
除了我明显使用相同的文件名。
这解决了这个问题。希望这有助于其他人。