PHP cURL 与 Linux cURL

标签 php html linux bash curl

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

curl -i --user-agent "" -d "sl=en" -d "tl=sk" --data-urlencode "text=hi" https://translate.google.com

它返回了整个页面,我可以在其中看到翻译结果。结果在一个 HTML 元素中。 但是当我用 PHP 的 cURL 尝试它时,它没有输出相同的 HTML,而且我找不到翻译结果。

$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 中相同的结果。

最佳答案

使用$response = curl_exec($ch);

        $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);

关于PHP cURL 与 Linux cURL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24860543/

相关文章:

javascript - ajax从下拉列表更改内容不起作用

javascript - 提交后无法刷新页面

php - 将 CSV 值插入数据库时​​,列计数与第 1 行错误的值计数不匹配

php - 比较 2 条记录,但不会比较

html - 在移动设备上将固定内容隐藏在 div 后面

linux - ip_forward 不适用于 tcp

linux - 如何在 Windows 的 Docker linux 容器中公开来自 ASP.NET Core 的端口?

javascript - 如何使用 javascript(无 JQuery)动态更改 CSS 类的属性

javascript - 使用 javascript 将页面上的所有 aria-expanded 更改为 false

python - 删除文件时检测python中的中断流