Ошибка при отправке данных с использованием curl в методе GET

Я должен отправить свои данные в формате json с помощью скручивания, чтобы создать новое торговое приложение. Я получил письмо от своей службы поддержки.

curl -D- -X GET -H "Authorization: Basic Y2NhcGlAY2FyZGNvR05hOQ==" -H 'Accept: application/json' -H 'Content-type: application/json' -X PUT 'https://testapi.xyz.com/agentcenter/merchant/create' -d '{"merchant":{"firstName":"mike","lastName":"test","email":"[email protected]","address":"123 test ln","city":"rock hill","state":"PA","zip":"19406","ownerDob":"19871218","ownerSsn":"123-12-1234","phone":"555-555-5555","url":"http:\/\/www.testurl.com","physicalAddress":"1234 ebenezer rd","physicalCity":"rock hill","physicalState":"PA","physicalZip":"19406","application":{"bankRouting":"036001808","bankAccount":"123456789","amexMid":null}}}'.

My line of code is:-

$ch = curl_init('https://testapi.com/merchant/create');

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");

curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);

curl_setopt($ch, CURLOPT_TIMEOUT, 5);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);

$result = curl_exec($ch);

curl_close($ch);

echo $result;

Но я получил «HTTP Status 405 — Метод запроса« GET »не поддерживается».

Пожалуйста, расскажите мне мою ошибку в curl, потому что в качестве упоминания в почте я должен использовать X GET, и я использую только GET.

-1

Решение

Маловероятно, чтобы / merchant / create принимал метод GET, и поскольку в запросе указано PUT, вам следует попробовать использовать PUT, даже если более очевидным вариантом будет попытка использовать POST (и использовать PUT для обновления).

0

Другие решения

Я получил успешный ответ после того, как прокомментировал заголовок

$jsondata = json_encode($postData);

$url =  'url';

$headers= array('Authorization: Basic ' . base64_encode($username . ":" .
$password),'Accept: application/json','Content-Type: application/json');

curl_setopt($curl, CURLOPT_URL, $url);

//curl_setopt($curl, CURLOPT_PUT, true);

curl_setopt($curl, CURLOPT_HEADER, 1);

curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');

curl_setopt($curl, CURLOPT_POSTFIELDS,$jsondata);

//curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);

//curl_setopt($curl, CURLOPT_USERPWD, base64_encode("$username:$password"));

$result = curl_exec($curl);

print_r($result);

curl_close($curl);
0

По вопросам рекламы [email protected]