Как сформировать запрос при помощи curl в PHP?

300
24 февраля 2017, 03:13

В документации к API сказано, что в тело запроса нужно вставить JSON-строку с параметрами и указан пример:

curl -v -X POST -d '{"signature":"deb5b02159898a6ab6f120624fa2f72c","marker":"ВставьтеСюдаВашМаркер","host":"beta.aviasales.ru","user_ip":"127.0.0.1","locale":"ru","trip_class":"Y","passengers":{"adults":1,"children":0,"infants":0},"segments":[{"origin":"NYC","destination":"LAX","date":"2016-11-25"},{"origin":"LAX","destination":"NYC","date":"2016-12-18"}]}' -H 'Content-type:application/json' http://api.travelpayouts.com/v1/flight_search

А как можно вставить json-массив в тело запроса при использовании cURL в PHP?

Answer 1

Нужно установить опции CURLOPT_POST на 1 и в CURLOPT_POSTFIELDS отправить ваши переменные:

$ch = curl_init();
$post_data = array (  
    "foo" => "bar",  
    "query" => "12",  
    "action" => "Submit"  
);  
curl_setopt($ch, CURLOPT_URL, $URL);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

Json можно декодировать с помощью json_decode. Данные в этом формате не проходят (подойдет только key=value&key1=value1 или массив)

READ ALSO
Передача параметра php

Передача параметра php

Добрый деньЕсть разметка

274
html option и php

html option и php

Как получить выбранное пользователем value из option с помощью php ?

257
highcharts js. Как сделать скругленные концы?

highcharts js. Как сделать скругленные концы?

В опциях определено что linecap: round, но концы все равно не скругленные

298
Разница между ExtJS 4 и ExtJS 6

Разница между ExtJS 4 и ExtJS 6

Есть ли существенная разница между этими двумя версиями библиотекПросто по ExtJS 4 существует мануал на русском языке, с помощью которого я смогу...

453