dtmtu02882 2013-02-12 17:54
浏览 127
已采纳

使用curl获取javascript设置的cookie

I'm writing a script that uses curl to fetch the contents of a webpage. I search the headers for Set-Cookie to collect the names of all cookies set by the page. The problem is that some cookies are set from within a javascript file loaded into the page and of course these cookies aren't included in the response headers.

So, is there a way to get all cookies from a webpage using curl, including the ones that is generated through javascript?

Currently I'm doing something like this:

$curl = curl_init();
curl_setopt($curl, CURLOPT_VERBOSE, 1);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_URL, <www.example.com>);
$response = curl_exec($curl);
$http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($http_code == 200) {
  $headers = substr($response, 0, curl_getinfo($curl, CURLINFO_HEADER_SIZE));
  // check headers for all cookies sent in response
}
curl_close($curl);
  • 写回答

1条回答 默认 最新

  • dtwxt88240 2013-02-12 17:58
    关注

    cURL isn't going to run javascript, so no, there won't be a way to get those cookies. You'll have to emulate or automate a browser in order to achieve that. Fortunately there are tools to help you. Maybe take a look at PHP-webdriver

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况