PHP ПОЛУЧАЮТ Запрос, отправляя заголовки

Я должен выполнить получить запрос и отправить заголовки наряду с ним. Что я могу использовать, чтобы сделать это?

Основной заголовок, который я должен установить, является браузером один. Существует ли простой способ сделать это?

20
задан James Jeffery 13 June 2010 в 14:55
поделиться

3 ответа

Если вы используете cURL, вы можете использовать curl_setopt ($ handle, CURLOPT_USERAGENT, 'описание браузера') для определения заголовка пользовательского агента запроса.

Если вы используете file_get_contents , ознакомьтесь с этой настройкой примера на странице руководства для file_get_contents :

// Create a stream
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar\r\n" .
              "User-agent: BROWSER-DESCRIPTION-HERE\r\n"
  )
);

$context = stream_context_create($opts);

// Open the file using the HTTP headers set above
$file = file_get_contents('http://www.example.com/', false, $context);
42
ответ дан 29 November 2019 в 23:29
поделиться

Вы можете использовать для этого функцию header , например:

header('Location: http://www.example.com?var=some_value');

Обратите внимание, что:

Помните, что header () должен вызываться перед отправкой любого фактического вывода, либо обычными тегами HTML, пусто строк в файле или из PHP. Это очень распространенная ошибка чтения кода с помощью include () или require (), functions или другая функция доступа к файлам и пробелы или пустые строки, которые выводятся перед вызовом header (). Одинаковый проблема существует при использовании одного Файл PHP / HTML.

-2
ответ дан 29 November 2019 в 23:29
поделиться

Если вы запрашиваете страницу, используйте cURL .

Чтобы установить заголовки (в данном случае заголовок User-Agent в HTTP-запросе, вы должны использовать следующий синтаксис:

<?php
$curl_h = curl_init('http://www.example.com/');

curl_setopt($curl_h, CURLOPT_HTTPHEADER,
    array(
        'User-Agent: NoBrowser v0.1 beta',
    )
);

# do not output, but store to variable
curl_setopt($curl_h, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($curl_h);
6
ответ дан 29 November 2019 в 23:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: