Como você passa $_POST
valores para uma página usando cURL
?
94
Deve funcionar bem.
$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)
Temos duas opções aqui, CURLOPT_POST
que ativa o HTTP POST e CURLOPT_POSTFIELDS
que contém uma matriz de nossos dados de postagem para enviar. Isso pode ser usado para enviar dados para POST
<form>
s.
É importante notar que curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
leva os dados $ em dois formatos e que isso determina como os dados de postagem serão codificados.
$data
como array()
: Os dados serão enviados como multipart/form-data
nem sempre aceitos pelo servidor.
$data = array('name' => 'Ross', 'php_master' => true);
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
$data
como string codificada por url: Os dados serão enviados como application/x-www-form-urlencoded
, que é a codificação padrão para os dados de formulário html enviados.
$data = array('name' => 'Ross', 'php_master' => true);
curl_setopt($handle, CURLOPT_POSTFIELDS, http_build_query($data));
Espero que isso ajude outras pessoas a economizar tempo.
Vejo:
Ross tem a ideia certa para POSTAR o formato usual de parâmetro / valor em uma url.
Recentemente, encontrei uma situação em que precisei POSTAR algum XML como Content-Type "text / xml" sem nenhum par de parâmetros, então veja como fazer isso:
No meu caso, precisei analisar alguns valores do cabeçalho de resposta HTTP, portanto, pode não ser necessário definir
CURLOPT_RETURNTRANSFER
ouCURLOPT_HEADER
.fonte
fonte
Outro exemplo simples de PHP de uso de cURL:
Exemplo encontrado aqui: http://devzone.co.in/post-data-using-curl-in-php-a-simple-example/
Em vez de usar,
curl_setopt
você pode usarcurl_setopt_array
.http://php.net/manual/en/function.curl-setopt-array.php
fonte
curl_setopt($ch, CURLOPT_POSTFIELDS, "var1=value1&var2=value2&var_n=value_n"); // Define what you want to post
me forneceu o que eu procurava :)Confira esta página que tem um exemplo de como fazer.
fonte
Verifique a página de documentação do cUrl PHP . Isso ajudará muito mais do que apenas com scripts de exemplo.
fonte
fonte
fonte