7

ajaxリクエストで単語をGoogle翻訳に翻訳したいですcurlを使用すると、次のようになります。

curl_init("http://translate.google.com/translate_a/t?client=t&text=hello&sl=en&tl=ru");

しかし、サーバー側のスクリプトは同じ IP からのものであるため、クエリで
使用できません。しかし、許可されていないため、JSONP リクエストも使用できません。サーバーの応答は次のとおりです。

[[["привет","hello","privet",""]],[["",["Алло","Здравствуйте."]],["これは、["приветствие","приветственный возглас","возглас удивления"]],["глагол",["здороваться","звать","окликать"]],["междометие",["привет","здравствуйте","ало"]] ,"en",,[["привет",[5],1,0,1000,0,1,0]],[["こんにちは",4,,,""],["こんにちは",5 ,[["ジャンク",1000,1,0],["ジャンク",0,1,0],["ジャンク",0,1,0],["こんにちは",0,1,0]] ,[[0,5]],"こんにちは"]],,,[["en"]],13]

そして、コンテンツをiframeにロードできません

<iframe src="http://translate.google.com/translate_a/t?client=t&text=hello&sl=en&tl=ru"></iframe>

応答のコンテンツ タイプが「text/javascript」で、ブラウザがファイルをダウンロードするため

PS。応答jsonが壊れているため、php関数json_decode()またはjquery.ajaxでコンテンツをデコードできません。ここでテストできますhttp://json.parser.online.fr/

アドバイスをください

4

2 に答える 2

13

試す:

http://translate.google.com/translate_a/t?client=p

クライアント パラメータが「t」以外の場合、有効な JSON データが返されます。もちろん、't' 戻り値変数を有効な配列または JSON にいつでも変換できますが、この方が簡単です。

于 2012-05-10T03:45:04.280 に答える
2

ヘッダー パラメータ "User-Agent" = "Mozilla/4.0" を必ず追加してください。キャプチャを追加しない場合、Google はキャプチャを追加します

于 2015-06-02T22:12:13.963 に答える