首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP cURL vs Linux cURL

PHP cURL vs Linux cURL
EN

Stack Overflow用户
提问于 2014-07-21 16:21:07
回答 2查看 655关注 0票数 0

我试着从Linux终端cURL读取谷歌翻译的数据:

代码语言:javascript
复制
curl -i --user-agent "" -d "sl=en" -d "tl=sk" --data-urlencode "text=hi" https://translate.google.com

它返回了整个页面,在那里我可以看到翻译结果。结果在一个HTML元素中。但是当我尝试用PHP的cURL时,它没有输出相同的超文本标记语言,我也找不到翻译结果。

代码语言:javascript
复制
$data = [
    "sl" => "en",
    "tl" => "sk",
    "text" => urlencode("hi");
];

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL, "https://translate.google.com");
curl_setopt($ch,CURLOPT_POST, count($data));
curl_setopt($ch,CURLOPT_POSTFIELDS, $data);
curl_setopt($ch,CURLOPT_HEADER, true);
curl_setopt($ch,CURLOPT_USERAGENT, "");


curl_exec($ch);

谢谢你的帮助,我怎样才能在PHP中返回和Linux cURL中相同的结果呢?

EN

回答 2

Stack Overflow用户

发布于 2014-07-21 16:26:57

使用$response = curl_exec($ch);

代码语言:javascript
复制
        $data = [
            "sl" => "en",
            "tl" => "sk",
            "text" => urlencode("hi")
        ];

        $ch = curl_init();

        curl_setopt($ch,CURLOPT_URL, "https://translate.google.com");
        curl_setopt($ch,CURLOPT_POST, true);
        curl_setopt($ch,CURLOPT_POSTFIELDS, $data);
        curl_setopt($ch,CURLOPT_HEADER, true);
        curl_setopt($ch,CURLOPT_USERAGENT, "");


        $respond = curl_exec($ch);

        echo $respond;

        curl_close($ch);
票数 1
EN

Stack Overflow用户

发布于 2014-07-21 17:48:31

如果您只是在寻找翻译结果,那么您所需要做的就是使用google translate API,该API使用起来非常简单。

http://translate.google.com/translate_a/t?client=t&text=Hello&hl=en&sl=en&tl=sk&multires=1&otf=2&pc=1&ssel=0&tsel=0&sc=1

此API将返回一个txt文件,您可以在PHP中读取该文件,并从中获取翻译后的结果。

如果你看一下translate.google.com的源代码,你可以在那里找到:

代码语言:javascript
复制
f.src=c;

c是javascript的源代码。现在c被隐藏在源代码中,这很难理解,而且可能会花费很多时间。在google.translate.com上返回的数据显然是通过一个Ajax请求来的,这个请求可能是在某个不能直接查看的javascript文件中,它可以是f.src=c;,也可以是其他文件。因此,在页面translate.google.com上没有直接的结果或翻译,因此PHP的curl不会从该页面获得翻译,因为该页面上的翻译是通过来自其他地方的ajax请求来的(而其他地方是我上面提到的google API ),该页面上没有实际的翻译,您可以直接将其作为字符串读取。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24860543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档