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»>
Автор: Дэвид Уолш
CSS @supports
Обнаружение функций с помощью JavaScript — это лучшая практика на стороне клиента и по всем правильным причинам, но, к сожалению, такая же функциональность недоступна в CSS. В итоге мы повторяем одни и те же свойства несколько раз с каждым префиксом браузера.
Дэвид Уолш
9 Невероятная демонстрация холста
Элемент стал открытием для специалистов по визуальному оформлению. Canvas предоставляет средства для невероятной и эффективной анимации с дополнительным преимуществом отсутствия Flash; вместо этого эти разработчики могут продемонстрировать свои потрясающие навыки работы с JavaScript. Вот девять невероятных демонстраций холста, которые…