1

我有下面的卷曲代码来获取。

<?php  
function get_content($URL){
          $ch = curl_init();
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
          curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); 
          curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); 
          curl_setopt($ch, CURLOPT_URL, $URL);
          $data = curl_exec($ch);
          curl_close($ch);
          return $data;
      }
 echo get_content("http://www.domain.com/cool.php");
?>

我使用了 http 标头,cookie 如下所示

xidseq:22
xid:b05f251c-8a72-4c2b-a230-e03b9c5c87b7&&BAYIDSAMFE1C013&343
data:dsfsfssdss

我需要http://www.domain.com/cool.php使用一些 cookie 发送 GET 请求。

我如何将 cookie 放入 cookie.txt 中?cookie 是否有任何特定格式..或者只是发布它有效?

4

1 回答 1

1

如果上面的脚本不起作用,请尝试:

curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookie.txt'); 
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt'); /* make sure you provide FULL PATH to cookie files*/

检查 . 上的文件权限和所有权dirname(__FILE__) . '/cookie.txt'。确保文件是可写的。

要将 cookie 放入 cookie.txt 中,您需要访问包含它们的特定网页 -只有服务器端 cookie 您可以使用 cURL 获取,javascript cookie 无法通过 cURL 访问,至少不能直接访问。

如果您想为您的 GET 请求手动创建 cookie,请阅读 Netscape cookie 格式或 - 最好的方法,通过 CURLOPT_COOKIEJAR 保存一些“真实网站”cookie 以查看和理解格式。

于 2012-11-01T22:10:52.273 回答