Как мне отформатировать локон для HTTP-запроса в PHP?

Я знаю, что есть библиотека, созданная человеком (https://github.com/tgallice/wit-php). Однако я не могу найти, как он отформатировал локон. Я хочу сделать только один запрос, поэтому использование его библиотеки было бы излишним.

Вот строка, которая работает в терминале, но я не уверен, как писать на PHP: curl -H 'Authorization: Bearer ACCESSCODE' 'https://api.wit.ai/message?v=20160526&q=mycarisbroken'

$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_URL,"https://api.wit.ai/message?v=20160526&q=my%20car%20doesnt%20work");
curl_setopt($ch1, CURLOPT_POST, 1);
// curl_setopt($ch1, CURLOPT_POSTFIELDS,$vars);  //Post Fields
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);

$headers = [
'Authorization: Bearer ACCESSCODEOMITTED',
];

curl_setopt($ch1, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch1, CURLOPT_HEADER, true);
curl_setopt($ch1, CURLOPT_FOLLOWLOCATION, false);
$server_output = curl_exec ($ch1);
curl_close($ch1);
Data::$answer = json_decode($server_output)['entities']['intent'][0]['value'];

0

Решение

Командная строка, которую вы дали, отправит GET на удаленный сервер, но в вашем коде вы отправите POST. Закомментируйте curl_setopt($ch1, CURLOPT_POST, 1); и ваш код PHP будет делать именно то, что делает командная строка.

0

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

Вы можете попробовать использовать эту библиотеку PHP https://github.com/php-curl-class/php-curl-class. По сути, он оборачивает все функции php curl в класс. Вы можете легко создавать макеты своей реализации и писать достойные модульные тесты.

Ваш код должен выглядеть примерно так:

<?php
$curl = new Curl();
$curl->setHeader('Authorization', 'Bearer ACCESSCODEOMITTED');
$curl->get('htps://api.wit.ai/message?v=20160526&q=mycarisbroken');

if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
} else {
echo 'Response:' . "\n";
var_dump($curl->response);
}
0

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