Как отправить запрос GET с заголовком из PHP?

Позвоните мне, если это дублирующий вопрос, но это начинает становиться смешным. Я хочу, с PHP:

 GET http://www.example.com/hello.xyz

И добавьте этот заголовок к запросу:

 "X-Header-Name: $foobar" 

где foobar берется из переменной php, которая уже определена.

и затем сохраните ответ в переменной. Это оно! Ни больше ни меньше. Но я не могу найти это!Я не хочу использовать curl или что-то подобное, это слишком сильно замедлит работу, если я буду запускать curl каждый раз. Изменить: Моя основная проблема с использованием curl заключается в совместимости с Windows (локальный сервер) и Linux (сервер развертывания).

<?php

echo "So, how do I do it in the simplest way possible?";

?>

1 ответ

Решение

Вы можете использовать file_get_contents, если вы не хотите использовать curl, но не уверены в скорости, но это phpвстроенная функция где curl не является. Когда говорим о speed тогда я думаю, что независимо от того, что вы используете для удаленного запроса, скорость / производительность будет зависеть от скорости сетевого подключения больше, чем от функции / библиотеки, и, возможно, они немного отличаются (curl/file_get_contents/fsockopen), но я думаю, что это будьте очень маленькими (1-2 %), и вы не сможете уловить разницу, это будет выглядеть почти так же.

$opts = array(
  'http'=>array(
      'method'=>"GET",
      'header'=>"X-Header-Name: $foobar"
));
$context = stream_context_create($opts);
$data = file_get_contents('http://www.example.com/hello.xyz', false, $context);
f($data) {
    // do something with data
}

Кроме того, если вы хотите использовать curl тогда вы можете использовать это

$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array("X-Header-Name: $foobar"));
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/hello.xyz");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
if ($curl_errno == 0) {
    // $data received in $data
}

Кроме того, проверьте этот ответ, это может помочь вам принять решение.

Другие вопросы по тегам