Как передать $_POST
значения на страницу с помощью cURL
?
95
Должно работать нормально.
$data = array('name' => 'Ross', 'php_master' => true);
// You can POST a file by prefixing with an @ (for <input type="file"> fields)
$data['file'] = '@/home/user/world.jpg';
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_exec($handle);
curl_close($handle)
У нас есть два варианта, CURLOPT_POST
которые включают HTTP POST и CURLOPT_POSTFIELDS
содержат массив наших данных для отправки. Это можно использовать для отправки данных в POST
<form>
s.
Важно отметить, что curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
$ data принимает два формата, и это определяет, как будут кодироваться данные публикации.
$data
как array()
: данные будут отправлены в том виде, в multipart/form-data
котором они не всегда принимаются сервером.
$data = array('name' => 'Ross', 'php_master' => true);
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
$data
как строка с кодировкой url: данные будут отправлены как application/x-www-form-urlencoded
, что является кодировкой по умолчанию для отправленных данных HTML-формы.
$data = array('name' => 'Ross', 'php_master' => true);
curl_setopt($handle, CURLOPT_POSTFIELDS, http_build_query($data));
Надеюсь, это поможет другим сэкономить время.
Видеть:
У Росс есть правильная идея для POST-отправки обычного формата параметра / значения в URL-адрес.
Недавно я столкнулся с ситуацией, когда мне нужно было отправить XML как Content-Type «text / xml» без каких-либо пар параметров, поэтому вот как это сделать:
В моем случае мне нужно было проанализировать некоторые значения из заголовка ответа HTTP, поэтому вам не обязательно нужно устанавливать
CURLOPT_RETURNTRANSFER
илиCURLOPT_HEADER
.источник
источник
Еще один простой PHP-пример использования cURL:
Пример найден здесь: http://devzone.co.in/post-data-using-curl-in-php-a-simple-example/
Вместо использования
curl_setopt
вы можете использоватьcurl_setopt_array
.http://php.net/manual/en/function.curl-setopt-array.php
источник
curl_setopt($ch, CURLOPT_POSTFIELDS, "var1=value1&var2=value2&var_n=value_n"); // Define what you want to post
предоставил мне то, что я искал :)Посмотрите эту страницу, на которой есть пример того, как это сделать.
источник
Ознакомьтесь со страницей документации cUrl PHP . Это поможет гораздо больше, чем просто примеры сценариев.
источник
источник
источник