Intereting Posts
Как редактировать и сохранять пользовательские файлы конфигурации в Laravel? Как хранить пароль пользователя LDAP пользователя в файле cookie? Контрольный массив php для числа Сессия уничтожается при обновлении страницы в PHP Что произойдет, если mysql_insert_id будет вызывать разные места и разные браузеры одновременно? как запретить доступ к функциям контроллера в системе codeigniter Кодировка символов для французских акцентов Необходимо объединить несколько PDF-файлов в один PDF-файл с разделами «Содержание» fopen с / без @ перед этим Как удалить $ _SERVER из заданной строки в PHP Горизонтальное масштабирование: маршрутизация пользовательских поддоменов между серверами Hex2bin не работает, когда я пытаюсь использовать его для преобразования закодированных данных в двоичные Добавление переменной от 1 часа до времени Неустранимая ошибка: Class 'CDbTestCase' не найден yii framework Проблема с CodeIgniter – force_download ()

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

Я планирую использовать PHP для простого требования. Мне нужно загрузить XML-контент из URL-адреса, для которого мне нужно отправить HTTP-запрос GET на этот URL-адрес.

Как это сделать в PHP?

Solutions Collecting From Web of "Как отправить запрос GET с PHP?"

Если вам не нужно больше, чем просто содержимое файла, вы можете использовать file_get_contents .

 $xml = file_get_contents("http://www.example.com/file.xml"); 

Для чего-то более сложного, я бы использовал cURL .

Для более сложных запросов GET / POST вы можете установить библиотеку CURL ( http://us3.php.net/curl ):

 $ch = curl_init("REMOTE XML FILE URL GOES HERE"); // such as http://example.com/example.xml curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, 0); $data = curl_exec($ch); curl_close($ch); 

http_get должен делать трюк. Преимущества http_get over file_get_contents включают возможность просмотра заголовков HTTP, получения данных запроса доступа и управления таймаутом соединения.

 $response = http_get("http://www.example.com/file.xml"); 

Помните, что если вы используете прокси-сервер, вам нужно сделать небольшой трюк в вашем php-коде:

 (PROXY WITHOUT AUTENTICATION EXAMPLE) <?php $aContext = array( 'http' => array( 'proxy' => 'proxy:8080', 'request_fulluri' => true, ), ); $cxContext = stream_context_create($aContext); $sFile = file_get_contents("http://www.google.com", False, $cxContext); echo $sFile; ?> 

В зависимости от того, разрешает ли ваша php-настройка fopen на URL-адресах, вы также можете просто открыть URL-адрес с помощью аргументов get в строке (например, http://example.com?variable=value )

Изменить: перечитывать вопрос Я не уверен, что вы хотите передать переменные или нет – если вы не можете просто отправить запрос fopen containg http://example.com/filename.xml – не стесняйтесь игнорировать переменную = значение

Мне нравится использовать fsockopen для этого.

С другой стороны, использование REST API других серверов очень популярно в PHP. Предположим, вы ищете способ перенаправления некоторых HTTP-запросов на другой сервер (например, получение XML-файла). Вот пакет PHP, который поможет вам:

 https://github.com/romanpitak/PHP-REST-Client 

Итак, получив XML-файл:

 $client = new Client('http://example.com'); $request = $client->newRequest('/filename.xml'); $response = $request->getResponse(); echo $response->getParsedResponse();