Простой скрипт cURL не получает данные - PullRequest
0 голосов
/ 16 июня 2011

Я только начинаю изучать cURL, и теперь я просто пробую разные вещи, чтобы привыкнуть к опциям, которые дает мне cURL. Вот простой скрипт, который я использую для подключения и получения данных с текущего сайта

<?php

      $ch=curl_init();
      $header[] = "Cache-Control: max-age=0";
      $header[] = "Connection: keep-alive";
      $header[] = "Keep-Alive: 300";
      $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
      $header[] = "Accept-Language: en-us,en;q=0.5";
      $header[] = "Pragma: "; // browsers keep this blank.
      curl_setopt($ch, CURLOPT_URL, "http://img2.somesite.net/bitbucket/");
      curl_setopt($ch, CURLOPT_HEADER, $header);
      curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      $a=curl_exec($ch);
      curl_close($ch);
      echo $a;

?>

Я хочу получить изображения, хранящиеся там, но, очевидно, я что-то упускаю. Я не уверен, как это должно быть сделано. Когда вы пишете http://img2.somesite.net/bitbucket/pic.jpg изображение загружено. Я хочу получить имяиз всех файлов, которые есть, или, может быть, я должен вызвать команду, которая загрузит изображения и затем проверит их на ПК ... Я не знаю, возможно ли это с помощью cURL, и можно ли сделать hwo?Кроме того, когда я оставляю его

http://somesite.net/

, я получаю ресурс обратно, поэтому в основном это работает ...

Спасибо

Лерон

Ответы [ 2 ]

1 голос
/ 16 июня 2011

Попробуйте установить User-Agent, так как некоторые сайты блокируют запросы без агента пользователя.

Кроме того, загрузите данные несанкционированного доступа для firefox и просмотрите заголовки, отправляемые на сервер, когда вы запускаете загрузку из браузера. Подражайте всем Заголовкам от завитка, и это сделает это.

Вот как я это делаю.

0 голосов
/ 16 июня 2011

CURLOPT_HEADER - логическое значение, определяющее, должно ли оно возвращать заголовки запросов.Чтобы передать заголовки в cURL, вы должны использовать CURLOPT_HTTPHEADER.

Это должно прекрасно работать:

<?php
      $ch=curl_init();
      $header[] = "Cache-Control: max-age=0";
      $header[] = "Connection: keep-alive";
      $header[] = "Keep-Alive: 300";
      $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
      $header[] = "Accept-Language: en-us,en;q=0.5";
      $header[] = "Pragma: "; // browsers keep this blank.
      curl_setopt($ch, CURLOPT_URL, "http://img2.somesite.net/bitbucket/");
      curl_setopt($ch, CURLOPT_HEADER, false);
      curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
      curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      $a=curl_exec($ch);
      curl_close($ch);
      echo $a;
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...