我怎样才能在curl中设置cookie

时间:2010-04-01 11:48:40

标签: php curl

我正在寻找一些网站页面..

但它没有显示任何内容 和网址改变。

示例我输入了

http://localhost/sushant/EXAMPLE_ROUGH/curl.php

在curl页面中,我的编码是=

$fp = fopen("cookie.txt", "w");

fclose($fp);

$agent= 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9) Gecko/2008052906 Firefox/3.0';

$ch = curl_init();

curl_setopt($ch, CURLOPT_USERAGENT, $agent);
 // 2. set the options, including the url  

curl_setopt($ch, CURLOPT_URL, "http://www.fnacspectacles.com/place-spectacle/manifestation/Grand-spectacle-LE-ROI-LION-ROI4.htm");  

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  

curl_setopt($ch, CURLOPT_HEADER, 0);  

curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');

curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
// 3. execute and fetch the resulting HTML output  

if(curl_exec($ch) === false)
{
  echo 'Curl error: ' . curl_error($ch);
}
else
  echo $output = curl_exec($ch);  

 // 4. free up the curl handle  
curl_close($ch); 

但是像这样的canege url ..

http://localhost/aide.do?sht=_aide_cookies_

找不到对象。

如何解决这些问题对我有帮助

2 个答案:

答案 0 :(得分:0)

看起来你们都试图将cookies保存到cookies.txt,然后从那里读取它们。你通常会做的是你访问的第一个网址,你有curl将cookie保存到文件中。然后,对于后续请求,您提供该文件。

我不确定php方面,但是从curl方面看起来你正试图读取一个尚不存在的cookie文件。

编辑:哦,如果你只做一个请求,你甚至不需要cookie。

答案 1 :(得分:0)

似乎输出中有javascript,导致重定向。

因此,出于测试目的,而不是使用:

echo $output = curl_exec($ch);

使用:

$output = curl_exec($ch);
echo strip_tags($output);

更新

下面的代码将把内容放入contents.htm ..你需要的所有内容都应该在那里和输出变量中。

if(curl_exec($ch) === false)
{
  echo 'Curl error: ' . curl_error($ch);
}
else{
  $output = curl_exec($ch);  
  $fp2 = fopen("content.htm" , "w");
  fwrite($fp2 , $output);
fclose($fp2);
}