@muhasa

Яндекс.Облако не получается отправить запрос через php curl, в консоли все работает, поможете?

curl  -H "X-Client-Request-ID: df55b979-346c-49a1-92c2-ac42730zzzz4" \
    -H "Authorization: Bearer token=" \
    -d "{\"folder_id\": \"blablablac\", \"texts\": \"классика\", \"sourceLanguageCode\": \"ru\", \"targetLanguageCode\": \"en\"}" \
    -X POST "https://translate.api.cloud.yandex.net/translate/v2/translate"

Вот такой код через консоль выдает нормальный результат
Если делаю то же самое через php curl, возвращает какую-то херню
Unexpected token.
sourceLanguageCode=r
^


Код на php следующий:

$data = http_build_query([   
        "sourceLanguageCode" => "ru",
        "targetLanguageCode" => "en", 
        "texts" => "привет",
        "folder_id" => $folder_id
    ]);

    $headers = [
        "Content-Type: application/json",
        "Authorization: Bearer ".$token
    ];

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);  //Post Fields
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLINFO_HEADER_OUT, true);

    $server_output = curl_exec ($ch);

    $info = curl_getinfo($ch);
    print_r($info['request_header']);

    var_dump($server_output);

    curl_close ($ch);


Никак не могу понять - в чем тут разница?
  • Вопрос задан
  • 522 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы