ПОЛУЧИТЬ запрос от PHP-скрипта в ограниченной среде - PullRequest
1 голос
/ 26 июля 2010

Мне нужно выполнить запрос get из сценария PHP, но я нахожусь в довольно ограниченной среде (жесткие брандмауэры, не могут изменить установку PHP и т. Д.).

fsockopen () возвращает ошибку, а http_get (), похоже, не установлен. Единственный другой известный мне способ - это вызов file_get_contents (), который работает нормально, за исключением того факта, что мне нужно установить заголовок реферера в запросе (что, я думаю, вы не можете сделать с помощью file_get_contents ().

Кто-нибудь знает какой-либо другой способ выполнить запрос GET через php?

Спасибо!

edit : также, CURL недоступен. : - (

Ответы [ 3 ]

2 голосов
/ 26 июля 2010

Вы можете установить заголовок, используя file_get_contents() с HTTP-контекстом .Например

$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Referer: http://foo.bar.com\r\n"
  )
);

$context = stream_context_create($opts);
$fp = fopen('http://www.example.com', 'r', false, $context);
fpassthru($fp);
fclose($fp);
1 голос
/ 26 июля 2010

См. Функции CURL в PHP.

0 голосов
/ 26 июля 2010

После некоторых дополнительных исследований, мне кажется, что лучше всего, если учесть имеющиеся у меня ресурсы, использовать stream_context_create () для создания заголовков в потоке контекста, которые вы, очевидно, можете отправить в file_get_contents (). Не знал этого!

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