За последние 24 часа нас посетили 17756 программистов и 1628 роботов. Сейчас ищут 946 программистов ...

php curl запрос

Тема в разделе "Сделайте за меня", создана пользователем Эльнар, 8 ноя 2019.

  1. Эльнар

    Эльнар Активный пользователь

    С нами с:
    11 апр 2018
    Сообщения:
    17
    Симпатии:
    0
    Доброго времени форумчане.

    из командной строки linux выполняю запрос
    curl -d {\"yandexPassportOauthToken\":\"AgXXXXXXXXXXXEEEEEEEEEEWo302UkvpspxLBC3svI\"}" "https://iam.api.cloud.yandex.net/iam/v1/tokens"
    приходит удачный ответ
    хочу выполнить такой же запрос PHP скриптом
    PHP:
    1. <?php
    2. $curl = curl_init();
    3. CURLOPT_URL => "https://iam.api.cloud.yandex.net/iam/v1/tokens",
    4. CURLOPT_RETURNTRANSFER => true,
    5. CURLOPT_ENCODING => "",
    6. CURLOPT_MAXREDIRS => 10,
    7. CURLOPT_TIMEOUT => 30,
    8. CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    9. CURLOPT_CUSTOMREQUEST => "POST",
    10. CURLOPT_POSTFIELDS => "{}",
    11. CURLOPT_HTTPHEADER => array(
    12. "yandexPassportOauthToken: AgXXXXXXXXXXXEEEEEEEEEEWo302UkvpspxLBC3svI"
    13. ),
    14. ));
    15. $response = curl_exec($curl);
    16. $err = curl_error($curl);
    17. curl_close($curl);
    18. if ($err) {
    19. echo "cURL Error #:" . $err;
    20. } else {
    21. echo $response;
    22. $response = JSON_decode($response, true);
    23. file_put_contents("received_messages_log/reponse_pogoda.txt",$response);
    24. }
    25. ?>
    в ответ приходит
    {
    "code": 3,
    "message": "No identity was provided"
    }

    где что не так?
     
  2. Эльнар

    Эльнар Активный пользователь

    С нами с:
    11 апр 2018
    Сообщения:
    17
    Симпатии:
    0
    проблему решил
    "yandexPassportOauthToken: AgXXXXXXXXXXXEEEEEEEEEEWo302UkvpspxLBC3svI"
    надо было отправлять не CURLOPT_HTTPHEADER, а в CURLOPT_POSTFIELDS