簡體   English   中英

Mymemory翻譯API-CURL不起作用

[英]Mymemory translate API - CURL not working

我現在正在將Mymemory翻譯API與API結合使用。 我不斷收到很多錯誤,但仍然無法正常工作。 我確實收到了file_get_contents的HTTP失敗錯誤。

我使用以下代碼:

$text = filter_input(INPUT_GET, 'text');
$from = filter_input(INPUT_GET, 'from');
$to = filter_input(INPUT_GET, 'to');

$url = 'http://mymemory.translated.net/api/get?q=' . $text . '&langpair=' . $from . '|' . $to . '&de=SOMEEMAIL';
$curl = curl_init ($url);
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));

$output = curl_exec ($curl);

如果我var_dump $curl變量, var_dump得到以下信息: resource(2) of type (curl)

如果我var_dump $output變量,我得到以下信息:

string(90) "<html><body><h1>400 Bad request</h1>
Your browser sent an invalid request.
</body></html>
"

如果我var_dump curl_error函數, curl_error得到以下信息: string(0) ""

如果我var_dump curl_errno函數, curl_errno得到以下信息: int(0)

我打開了我的錯誤,並且error_reporting也沒有給我任何錯誤。 我不知道我在做什么 我首先通過xampp服務器本地主機進行測試。

我嘗試使用https://http:// https://除外),但未進行任何更改。 如果我直接將URL用作$.get ,它將起作用。 我不知道我在做什么錯。

通過@Passerby解決:

必須在參數上使用urlencode

$text = urlencode(filter_input(INPUT_GET, 'text'));
$from = urlencode(filter_input(INPUT_GET, 'from'));
$to = urlencode(filter_input(INPUT_GET, 'to'));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM