Curl header php: PHP cURL custom headers — Stack Overflow

Сокращенный список опций Curl — Взлом с помощью PHP

Для curl_setopt() доступно большое количество опций — их слишком много, чтобы охватить здесь. Однако примерно половина из полного списка используется регулярно и поэтому заслуживает публикации здесь. Вскоре мы рассмотрим некоторые из них более подробно, но в целом весь приведенный здесь список полезен для базового набора операций Curl:

Если второй параметр…

3-й параметр должен быть…

CURLOPT_COOKIE

Строка, содержащая содержимое данных cookie, которые должны быть установлены в заголовке HTTP.

CURLOPT_COOKIEFILE

Строка, содержащая имя файла, содержащего данные cookie для отправки.

CURLOPT_CRLF

1, если вы хотите, чтобы Curl преобразовывал новые строки Unix в новые строки CR/LF.

CURLOPT_FAILONERROR

1, если вы хотите, чтобы Curl автоматически терпел неудачу, если возвращаемый HTTP-код равен или превышает 300.

CURLOPT_FILE

Строка, содержащая имя файла, в который следует поместить вывод вашего перевода. По умолчанию используется прямой вывод (STDOUT).

CURLOPT_FOLLOWLOCATION

1, если вы хотите, чтобы Curl следовал за всем заголовком «Location:», который сервер отправляет как часть заголовка HTTP. Вы можете ограничить количество заголовков местоположений с помощью CURLOPT_MAXREDIRS.

CURLOPT_FTPAPPEND

1, чтобы Curl присоединялся к удаленному файлу, а не перезаписывал его.

CURLOPT_FTPLISTONLY

1, чтобы перечислить только имена каталогов FTP, а не более подробную информацию.

CURLOPT_HEADER

1, если вы хотите, чтобы заголовок был включен в вывод. Обычно только для HTTP.

CURLOPT_HTTPHEADER

Массив полей заголовка HTTP, которые необходимо установить.

CURLOPT_INFILE

Строка, содержащая имя файла, откуда поступает ввод вашего перевода.

CURLOPT_INFILESIZE

Размер файла, загружаемого на удаленный сайт.

CURLOPT_MAXREDIRS

Количество заголовков «Location:» Curl должно следовать перед ошибкой. Этот параметр подходит только в том случае, если также используется CURLOPT_FOLLOWLOCATION.

CURLOPT_NOBODY

1, чтобы указать Curl не включать часть тела в вывод. Для серверов HTTP(S) это эквивалентно запросу HEAD — будут возвращены только заголовки.

CURLOPT_POST

1, если вы хотите, чтобы Curl выполнял обычный HTTP POST.

CURLOPT_POSTFIELDS

Строка, содержащая данные для публикации в операции HTTP «POST».

CURLOPT_REFERER

Строка, содержащая заголовок referer, который будет использоваться в HTTP-запросе. Это необходимо только в том случае, если удаленный сервер использует это значение.

CURLOPT_RESUME_FROM

Число, равное смещению в байтах, с которого вы хотите начать передачу.

CURLOPT_RETURNTRANSFER

1, если вы хотите, чтобы Curl возвращал данные передачи, а не распечатывал их напрямую.

CURLOPT_STDERR

Строка, содержащая имя файла для записи ошибок вместо обычного вывода.

CURLOPT_TIMEOUT

Число, равное максимальному времени в секундах, которое могут выполнять функции Curl.

CURLOPT_UPLOAD

1, если вы хотите, чтобы PHP подготовился к загрузке файла.

CURLOPT_URL

Строка, содержащая URL-адрес, который должен получить Curl.

CURLOPT_USERPWD

Строка, отформатированная в виде имя пользователя: пароль, которую Curl передает удаленному серверу по запросу.

CURLOPT_USERAGENT

Строка, содержащая заголовок «user-agent», который будет использоваться в HTTP-запросе.

CURLOPT_VERBOSE

1, если вы хотите, чтобы Curl давал подробные отчеты обо всем происходящем.

CURLOPT_WRITEHEADER

содержащий имя файла для записи части заголовка вывода.

Как видите, заголовков довольно много, и это только самые популярные — более широкий выбор доступен в Интернете по адресу http://curl.haxx.se/libcurl/c/curl_easy_setopt.html.

 

Хотите изучить PHP 7?

Hacking with PHP полностью обновлен для PHP 7 и теперь доступен в виде загружаемого PDF-файла. Получить более 1200 страниц практического изучения PHP уже сегодня!

Если это было полезно, найдите время, чтобы рассказать другим о взломе с помощью PHP, написав об этом в Твиттере!

Твит

Следующая глава: отладка Curl >>

Предыдущая глава: ваши первые сценарии скручивания

Прыжки до: Сетки Скеверные Сокеты — это файлы. могут быть мощными   Функции разрешения домена   Разрешение хоста и IP   HTTP      Отправка пользовательских заголовков      Чтение заголовков из очереди      Аутентификация через HTTP      Динамическая аутентификация   Отправка почты      Типы MIME )   Чтение почты      Открытие почтового ящика      Чтение информации о сообщении      Чтение содержимого сообщения   Работа с сообщениями в кодировке MIME   Управление почтой   Передача файлов по FTP      Другие полезные функции FTP   Curl      Установка параметров Curl      Ваши первые сценарии Curl обработка пользовательского потока данных      Поток азбуки Морзе   Резюме   Упражнения   Дополнительная литература   Следующая глава

 

Домашняя страница: Содержание

Copyright © 2015 Paul Hudson. Подписывайтесь на меня: @twostraws.

Данные формы POST с cURL

cURL — это волшебная утилита, которая позволяет разработчикам загружать содержимое URL-адреса, исследовать заголовки ответов, получать котировки акций, подтверждать, что наша кодировка GZip работает, и многое другое. Еще одно полезное использование cUrl для командной строки – это отправка данных формы на сервер, особенно при тестировании умеренной и расширенной обработки форм. И, как и другие команды cURL, отправка данных формы POST невероятно проста.

Отправка данных формы с помощью cURL

Начните свою команду cURL с curl -X POST , а затем добавьте -F для каждого поля = значение , которое вы хотите добавить в POST:

curl -X POST -F 'имя пользователя=davidwalsh' -F 'пароль=что-то' http://domain.tld/post-to-me.php
 

Если вы используете PHP, вы можете использовать print_r в переменной $_POST , чтобы убедиться, что ваш сервер получил данные POST, как и ожидалось:

Множество(
  'имя пользователя' => 'Дэвидвалш',
  'пароль' => 'что-то'
)
 

Если вам нужно отправить определенный тип данных или заголовок с помощью cURL, используйте -H , чтобы добавить заголовок:

# -d для отправки необработанных данных
curl -X POST -H 'Тип содержимого: application/json' -d '{"имя пользователя":"davidwalsh","пароль":"что-то"}' http://domain. tld/login
 

Отправка файлов с помощью cURL

Отправка файла с помощью cURL немного отличается тем, что вам нужно добавить @ перед расположением файла после имени поля:

curl -X POST -F 'image=@/path/to/pictures/picture.jpg' http://domain.tld/upload
 

Использование PHP для изучения массива переменных $_FILES будет отображать данные файла, как если бы он был загружен через форму в браузере:

Множество(
  "изображение": массив(
    "имя" => "картинка.jpg"
    "тип" => "изображение/jpeg",
    "tmp_name" => "/путь/на/сервере/к/tmp/phprj5rkG",
    "ошибка" => 0,
    "размер" => 174476
  )
)
 

Отправка содержимого файла с помощью cURL – это, вероятно, проще, чем вы думали, верно?

В первый раз, когда мне понадобилось отправить данные POST-файла из командной строки, я подумал, что меня ждет драка; вместо этого я обнаружил, что cURL упрощает процесс!

  • name/canvas-demos» itemscope=»» itemtype=»http://schema.org/Article»>

    Дэвид Уолш

    9 Невероятная демонстрация холста

    Элемент стал открытием для специалистов по визуальному оформлению. Canvas предоставляет средства для невероятной и эффективной анимации с дополнительным преимуществом отсутствия Flash; вместо этого эти разработчики могут продемонстрировать свои потрясающие навыки работы с JavaScript. Вот девять невероятных демонстраций холста, которые…

  • Автор: Дэвид Уолш

    CSS @supports

    Обнаружение функций с помощью JavaScript — это лучшая практика на стороне клиента и по всем правильным причинам, но, к сожалению, такая же функциональность недоступна в CSS. В итоге мы повторяем одни и те же свойства несколько раз с каждым префиксом браузера.