0
我做了一個使用Mobile.de API的腳本。 它在他們的測試環境中工作得很好,與實時環境只有代理不同。所以在我的cURL中,我刪除了代理。 對於任何POST調用,這工作得很好,但對於我的PUT調用它根本不起作用。PHP cURL放,不允許(403禁止)
所以我們可以說我送與例如郵差如下:
PUT /賣方API /銷售/ 123 /廣告/ 456
主持人:services.mobile.de
的Content-Type:應用程序/ vnd.de.mobile.api + JSON
授權:基本abcdef12345 =
而且我把正確的JSON,它工作得很好。
這是我在使用PHP腳本:
function updateVehicle($seller, $voertuig_id, $json) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://services.mobile.de/seller-api/sellers/' . $seller . '/ads/' . $voertuig_id);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_USERPWD, USERNAME . ':' . PASSWORD);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Host: services.mobile.de',
'Content-type: application/vnd.de.mobile.api+json'
));
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
作爲回報,我得到了403禁止。 '您無權訪問此服務器上的/ seller-api/sellers/123/ads/456。「
我已經打印出捲曲信息,看到所有的標題都在那裏,一切似乎都很好,但爲什麼我沒有權限。
已聯繫Mobile.de,但他們說這是我的代碼中的東西。
您可以嘗試將此添加到您的curl請求:'curl_setopt($ ch,CURLOPT_HTTPAUTH,CURLAUTH_ANY);' – Hatef
不起作用。如果我使它成爲一個POST它工作正常。標題似乎也很好。 –