2015-05-18 117 views
2

有沒有人在Google翻譯器API v2中使用PHP CURL POST方法翻譯HTML?Google翻譯器API使用CURL post方法

我已經嘗試了github的幾個代碼和庫,但沒有一個爲我寫。我發現的是GET方法。

由於通過GET或查詢字符串解析數據的限制,我無法發送大型HTML數據進行翻譯。

我要尋找一個解決方案/片段可以使用curl

回答

6

這裏使用轉換緩衝的數據是我的解決方案

$handle = curl_init(); 

if (FALSE === $handle) 
    throw new Exception('failed to initialize'); 

curl_setopt($handle, CURLOPT_URL,'https://www.googleapis.com/language/translate/v2'); 
curl_setopt($handle, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($handle, CURLOPT_POSTFIELDS, array('key'=> 'apikey', 'q' => 'Testing message', 'source' => 'en', 'target' => 'cs')); 
curl_setopt($handle,CURLOPT_HTTPHEADER,array('X-HTTP-Method-Override: GET')); 
$response = curl_exec($handle); 

您還可以使用POST來調用API,如果你想發送更多數據在一個請求中。 POST主體中的q參數必須小於5K個字符。要使用POST,必須使用X-HTTP-Method-Override頭來告訴Translate API將請求視爲GET(使用X-HTTP-Method-Override:GET)。

Google Translate API Documentation