我想将带有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/
进行测试请给我一个建议
答案 0 :(得分:13)
尝试:
http://translate.google.com/translate_a/t?client=p
如果客户端参数不是't',则返回有效的JSON数据。当然,您总是可以将't'返回变量转换为有效数组或JSON,但这更容易。
答案 1 :(得分:2)
确保添加标题参数“User-Agent”=“Mozilla / 4.0”。如果你没有
,Google会添加验证码