Salutare,
De cateva zile ma chinui cu urmatoarea problema: am o comanda cURL care executata din shell functioneaza perfect si arata asa:
curl -i -H "Accept: application/json" -H "Content-Type: application/json; charset=utf-8" -H "TC: 000000" -H "ST: 000000" -X POST -d '[{"Param1" : "Value1", "Param2" : "Value2"} ]' http://www.somesaasprovider.com/
Trebuie sa o convertesc in PHP si am facut acest lucru in felul urmator:
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
$query_array = array(
'Param1' => 'Value1',
'Param2' => 'Value2'
);
$ch = curl_init('http://www.somesaasprovider.com');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($query_array));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Accept: application/json',
'Content-Type: application/json; charset=utf-8',
'Content-Length: ' . strlen(json_encode($query_array)),
'TC' => '000000',
'ST' => '000000')
);
if (curl_exec($ch) === false) {
echo curl_error($ch);
} else {
$response = curl_exec($ch);
$response = json_decode($response);
print_r($response);
}
Problema este ca nu primesc nici un fel de output, nici o eroare, nimic.
Am incercat si pe Stackoverflow unde mi-au sugerat faza cu curl_error($ch)
.
Cel mai ciudat este faptul ca cei al caror API incerc sa-l accesez imi spun ca in varianta PHP request-ul nici macar nu ajunge pana la ei.
Aveti vreo idee de ce nu functioneaza?
Multumesc