Enviando dados JSON usando cURL

Leia direto da fonte: http://www.lornajane.net/posts/2011/posting-json-data-with-php-curl

Me perguntaram outro dia: como enviar uma requisição POST usando PHP com dados JSON corretamente formatados? Recorri aos slides do meu tutorial de web services para a resposta, e pensei em colocar aqui com algumas explicações. Afinal, publicar seus slides é algo bom, mas sem o tutorial de fato, acho que eles raramente são úteis.

Não podemos enviar campos POST, porque queremos enviar JSON, e não simular um formulário (o mérito de uma API que aceita requisições POST com dados em formato de formulário é um debate interessante). Ao invés disto, nós criamos o JSON, o definimos como corpo da requisição POST e definimos os cabeçalhos corretamente para que o servidor que receba a requisição possa entender o que enviamos.

Todas estas definições estão bem explicadas na página curl_setopt(), mas basicamente a idéia é definir a requisição para que seja um POST, fazer com que os dados codificados em JSON sejam o corpo da requisição e definir os cabeçalhos corretos para descrever o corpo da requisição. O CURLOPT_RETURNTRANSFER é puramente para que a resposta do servidor remoto seja colocada em $result, ao invés de “ecoado”. Se você precisa enviar dados JSON com PHP, espero que isto ajude!

Autoria: lornajane@lornajane.net, @lornajane

Be Sociable, Share!

Uma ideia sobre “Enviando dados JSON usando cURL

Deixe uma resposta