как я могу установить cookie в curl - PullRequest
0 голосов
/ 01 апреля 2010

Я получаю страницу с сайтом ..

но ничего не отображается и изменение адреса URL.

пример, который я набрал

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); 

но URL-адрес можно вот так ...

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

объект не найден.

как можно решить эту проблему, помогите мне

Ответы [ 2 ]

0 голосов
/ 02 апреля 2010

Похоже, что в выводе присутствует 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);
}
0 голосов
/ 01 апреля 2010

Похоже, вы оба пытаетесь сохранить куки в cookies.txt и прочитать их оттуда. Что вы обычно делаете, так это то, что при первом посещении URL вы сохраняете куки в файл. Затем для последующих запросов вы предоставляете этот файл.

Я не уверен в аспектах php, но с точки зрения скручивания похоже, что вы пытаетесь прочитать файл cookie, который еще не существует.

edit: о, и если вы делаете только один запрос, вам даже не нужны файлы cookie.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...