Header php curl: PHP cURL custom headers — Stack Overflow

Получение заголовков с помощью cURL

Все мы знаем, что cURL невероятно полезен. Мы можем получать удаленный контент с помощью curl, публиковать на удаленный URL-адрес и выполнять сотни других задач. Одна простая задача, которую можно выполнить, — просто получить заголовки основных ответов. Чтобы протестировать заголовок, предотвращающий индексирование роботов, который я добавил в сеть разработчиков Mozilla, я использовал одну простую команду cURL, чтобы получить все заголовки с адреса.

Раковина

Команда cURL короткая и приятная:

curl -I davidwalsh.name
 

Указанная команда предоставляет список, похожий на:

HTTP/1.1 200 ОК
Дата: пятница, 14 сентября 2012 г., 21:51:17 по Гринвичу
Сервер: Apache/2.2.3 (CentOS)
Последнее изменение: пятница, 14 сентября 2012 г., 21:51:00 GMT
Допустимые диапазоны: байты
Длина содержимого: 10910
Cache-Control: max-age=1, private, must-revalidate
Истекает: пятница, 14 сентября 2012 г. , 22:51:00 по Гринвичу.
Варьировать: Accept-Encoding,Cookie
X-Powered-By: Общий кэш W3/0,9.2.4
X-Pingback: https://davidwalsh.name/xmlrpc.php
Прагма: общедоступная
Подключение: близко
Тип содержимого: текст/html; кодировка = UTF-8
 

Эта команда полезна для проверки того, что данный заголовок был правильно установлен в вашей программе, а также для просмотра того, куда данный короткий URL-адрес может перенаправить на:

$ curl -I bit.ly/Q8f9o

HTTP/1.1 301 Перемещено
Сервер: nginx
Дата: пятница, 14 сентября 2012 г., 21:53:14 по Гринвичу
Тип содержимого: текст/html; кодировка = utf-8
Соединение: Keep-alive
Set-Cookie: _bit=5053a74a-0011d-0688d-311cf10a;domain=.bit.ly;expires=ср 13 марта 21:53:14 2013;путь=/; HttpOnly
Кэш-контроль: закрытый; максимальный возраст = 90
Местонахождение: https://davidwalsh.name/
MIME-версия: 1.0
Длина содержимого: 115
 

Также полезно видеть имя сервера, информацию об истечении срока действия и многое другое. Я также ценю то, что это чистый список, и никакая другая информация не вставляется в ответ. Если у вас есть немного времени, отправьте cURL на разные популярные домены и посмотрите, какие заголовки они отправляют — вы можете быть удивлены!

  • Дэвид Уолш

    Отправляйте текстовые сообщения с PHP

    Современные дети, говорю вам. Все, что их волнует, это технологии. Видеоигры. Бутилированная вода. О, и текстовые сообщения, всегда текстовые сообщения. В мое время все, что у нас было, это… Хорошо, у меня тоже было все это. Но я все еще не понимаю…

  • Дэвид Уолш

    Как создать карту Twitter

    Одним из моих любимых социальных API был API Open Graph, принятый Facebook. Добавление всего нескольких META-тегов на каждую страницу позволило стилизовать ссылки на мою статью и представить их так, как я хотел, что дало мне немного контроля…

  • Дэвид Уолш

    Элементы управления комментариями в стиле WordPress с использованием MooTools или jQuery и mouseout из контейнера записи. Вот как добиться этого эффекта с помощью MooTools или jQuery.

    XHTML

    Обратите внимание, что мы размещаем ссылки в…

  • Дэвид Уолш

    :valid, :invalid и :required Псевдоклассы CSS

    Давайте будем честными, проверка формы с помощью JavaScript может быть настоящей сукой. Однако на реальном базовом уровне все не так уж и плохо. HTML5 до некоторой степени подскочил, предоставив несколько атрибутов, позволяющих нам помечать поля как обязательные или действительные только при совпадении…

cURL: Добавить заголовок, Несколько заголовков, Авторизация

Опубликовано от администратора

curl позволяет добавлять дополнительные заголовки к HTTP-запросам.

Заголовки HTTP используются для передачи дополнительной информации между клиентом и сервером.

В этой статье я показываю примеры того, как добавить заголовок в curl , как добавить несколько заголовков и как установить заголовок авторизации из командной строки Linux.

Полезный совет: Установите User-Agent в заголовке HTTP с помощью cURL! Читать далее →

Добавить заголовок в cURL

Добавить заголовок X-Forwarded-For :

$ curl -H "X-Forwarded-For: 192. 168.0.1" http://example.com
 

Установить заголовок Принять: application/xml и ПОЛУЧИТЬ данные с сервера:

$ curl -H "Принять: application/xml" -X GET www.example.com
 

Установить заголовок Content-Type: application/json и отправить данные через запрос POST :

$ curl -H "Тип контента: приложение/json" \
       -X ПОСТ \
       -d '{"ключ1":"значение1","ключ2":"значение2"}' \
       http://example.com
 

POST данные из файла data.json :

$ curl -H "Тип контента: приложение/json" \
       -X ПОСТ \
       -d @data.json \
       http://example.com
 

Пример содержимого файла data.json :

$ кот data.json
{
  "ключ1":"значение1",
  "ключ2":"значение2"
}
 

Установить заголовок авторизации в cURL

Базовая аутентификация с использованием Имя пользователя и Пароль :

$ curl --user <ПОЛЬЗОВАТЕЛЬ>:<ПАРОЛЬ> http://www. example.com
 

Установить заголовок с маркером аутентификации Basic :

$ curl -H "Авторизация: базовая " http://www.example.com
 

Чтобы сгенерировать токен базовой аутентификации, выполните:

$ echo -ne "<ПОЛЬЗОВАТЕЛЬ>:<ПАРОЛЬ>" | base64 --обернуть 0
 

Установить заголовок с токеном аутентификации Bearer :

$ curl -H "Авторизация: носитель " http://www.example.com
 

Установить заголовок с токеном аутентификации OAuth :

$ curl -H "Авторизация: OAuth " http://www.example.com
 

Установить имя пользователя и пароль для Proxy :

$ curl --proxy-user : http://www.example.com
 

Если прокси-сервер требует аутентификации с использованием метода NTLM, добавьте --proxy-ntlm , если для этого требуется дайджест, добавьте --proxy-digest .