2017-01-04 2 views
0

Я создал сценарий, который использует API Mobile.de. Он отлично работал на своей тестовой среде, только разница с живой средой - это прокси. Поэтому в моем cURL я удалил прокси. Для любого вызова POST это работает нормально, но для моего вызова PUT он вообще не работает.PHP cURL Положите, нет разрешения (403 запрещено)

Так скажем, я послал следующее с, например, Почтальон:

PUT/продавец-апи/продавцы/123/объявления/456
Ведущий: services.mobile.de
Content-Type: применение/vnd.de.mobile.api + JSON
Authorization: Basic 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 запрещено. «У вас нет разрешения на доступ/продавец-api/продавцы/123/ads/456 на этом сервере».

Я уже распечатал al curl info и увидел, что все заголовки там, и все выглядит просто отлично, но почему бы мне не получить разрешение.

Свяжитесь с Mobile.de уже, но они говорят, что это что-то в моем коде.

+1

Не могли бы вы попытаться добавить это в свой запрос на завивание: 'curl_setopt ($ ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);' – Hatef

+0

Не работает. Если я сделаю это POST, он отлично работает. Заголовки, похоже, тоже прекрасны. –

ответ

0

Итак, после большой отладки я узнал, что это было пробел после $ voertuig_id, который дал мне 403 запрещенную ошибку. : S

Смежные вопросы