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

时间:2012-04-26 13:23:16

标签: ajax json iframe google-translate

我想将带有ajax请求的单词翻译成谷歌翻译 如果我使用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”和浏览器downloads a file

PS。我无法使用php函数json_decode()或jquery.ajax解码内容,因为响应json已损坏。您可以在此处http://json.parser.online.fr/

进行测试

请给我一个建议

2 个答案:

答案 0 :(得分:13)

尝试:

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

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

答案 1 :(得分:2)

确保添加标题参数“User-Agent”=“Mozilla / 4.0”。如果你没有

,Google会添加验证码