如何从谷歌翻译获得和解析json答案

Sha*_*ara 7 ajax iframe json google-translate

我想用ajax请求翻译单词google翻译如果我使用curl,它将会像:

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

但是我不能将服务器端脚本与查询一起使用,因为它们来自同一个IP
但我也不能使用JSONP请求,因为我认为这是不允许的.这是服务器响应:

[[["привет","你好","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>
Run Code Online (Sandbox Code Playgroud)

因为响应内容类型是"text/javascript"并且浏览器下载文件

PS.我无法使用php函数json_decode()或jquery.ajax解码内容,因为响应json已损坏.你可以在这里测试一下http://json.parser.online.fr/

请给我一个建议

小智 13

尝试:

http://translate.google.com/translate_a/t?client=p
Run Code Online (Sandbox Code Playgroud)

如果客户端参数不是't',则返回有效的JSON数据.当然,您总是可以将't'返回变量转换为有效数组或JSON,但这更容易.

  • 它开始使用验证码 (2认同)