Я использую Microsoft Congnitive WebLM, чтобы разбить слово на набор слов, и он выводит весь запрос cURL, и я не могу понять, как использовать результаты.
Код, который я использую:
$word = 'iwansttobreakfree';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,
"https://api.projectoxford.ai/text/weblm/v1.0/breakIntoWords?model=query&text=" . $word);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, "");
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Ocp-Apim-Subscription-Key: [subscription key removed for stack overflow]"));
$result = curl_exec($ch);
curl_close($ch);
var_dump($result);
В результате я получаю
HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Length: 320
Content-Type: application/json; charset=utf-8
Expires: -1
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
apim-request-id: ef73d48d-ab35-4fa5-a346-c57339415824
Date: Thu, 21 Jul 2016 20:00:12 GMT
{"candidates":[{"words":"i want to break free","probability":-7.1759999999999993},{"words":"iwant to break free","probability":-9.1660000000000021},{"words":"i want to breakfree","probability":-9.547},{"words":"i wan t to break free","probability":-9.8390000000000022},{"words":"iwanttobreakfree","probability":-9.877}]}
--------
bool(true)
Кто-нибудь знает, как я могу использовать результаты JSON, без вывода всего ответа CURL?
Вам нужно установить это:
curl_setopt($ch, CURLOPT_HEADER, true);
К этому:
curl_setopt($ch, CURLOPT_HEADER, false);
Ознакомьтесь с документацией: http://php.net/manual/en/function.curl-setopt.php
Я разобрался, действительно глупые ошибки: /
Установив CURLOPT_RETURNTRANSFER
как true
и настройка CURLOPT_HEADER
в false
строка json возвращается.
Это новый код:
$word = 'iwanttobreakfree';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,
"https://api.projectoxford.ai/text/weblm/v1.0/breakIntoWords?model=query&text=" . $word);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, "");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Ocp-Apim-Subscription-Key: [key removed for stack overflow]"));
$result = curl_exec($ch);
curl_close($ch);
echo "\n--------\n";
$json = json_decode($result);
var_dump($json);
что приводит к этому:
object(stdClass)#6 (1) {
["candidates"]=>
array(5) {
[0]=>
object(stdClass)#1 (2) {
["words"]=>
string(20) "i want to break free"["probability"]=>
float(-7.176)
}
[1]=>
object(stdClass)#2 (2) {
["words"]=>
string(19) "iwant to break free"["probability"]=>
float(-9.166)
}
[2]=>
object(stdClass)#3 (2) {
["words"]=>
string(19) "i want to breakfree"["probability"]=>
float(-9.547)
}
[3]=>
object(stdClass)#4 (2) {
["words"]=>
string(21) "i wan t to break free"["probability"]=>
float(-9.839)
}
[4]=>
object(stdClass)#5 (2) {
["words"]=>
string(16) "iwanttobreakfree"["probability"]=>
float(-9.877)
}
}
}