php模拟去一个不断更改cookie的网页

时间:2018-05-16 02:13:31

标签: php cookies file-get-contents request-headers

我有一个网页,我想用PHP编程。我可以使用chrome“手动”访问该网页,右键单击“检查元素”,找到访问该页面时使用的cookie。

然后我用PHP创建了一个上下文:

$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie:bla bla bla\r\n".
              "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36"
  )
);


$context = stream_context_create($opts);

这将会工作几次......但很快就会停止工作。当我再次手动访问网页时,我发现cookie已经改变。

那么如何用php模拟这个不断变化的cookie呢?我知道当我手动使用浏览器时,它会以某种方式自动更新我的cookie并且我不必担心它。我可以以某种方式获取此信息吗?我已经阅读了关于get_headers()和getallheaders()的信息,但他们似乎都在给我回复标题。这是正在改变的请求标题。

所以......我被卡住了。

1 个答案:

答案 0 :(得分:0)

您可以使用CURL并让它在请求之间保留cookie。这是一个提出问题的SO问题,你可以举一个例子。

PHP CURL saves cookie into cookiejar but doesn't use it