gpt4 book ai didi

javascript - YQL中可以添加UserAgent吗?

转载 作者:行者123 更新时间:2023-11-28 00:27:29 26 4
gpt4 key购买 nike

我正在使用cross-domain-ajax其中,使用的是YQL。
其中有这一行:

query = 'select * from html where url="{URL}" and xpath="*"';

所以我添加了用户代理,如下所示:

query = 'select * from html where url="{URL}" and xpath="*" and ua="Mozilla/5.0 (Linux; U; Android 4.0.1; ja-jp; Galaxy Nexus Build/ITL41D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"';

现在它不会再返回值了:(
我的主要 JavaScript 是这样的:

url = 'http://foofoofoofoofoofoo.com';
var content ='';
$.get(url, function(data){
content = data.responseText;
});

如何将用户代理添加到 YQL?
我之所以要这样做,是因为 HTML 源的内容根据所使用的用户代理而有所不同。

我想要使用智能手机访问时的 HTML 源代码。

最佳答案

在我看来,这是不可能的(至少对于非 HTML 数据来说)。

根据YQL reference ,YQL 访问 User-Agent Yahoo Pipes 2.0 下的“非 HTML”数据(即 css、xml 甚至 robots.txt!) .
请注意,它不关心“robots.txt”规则,因为它不是爬虫。
因此,当访问“HTML-Data”且 robots.txt 检查阻止 Yahoo Pipes 2.0 访问您的内容时,它将使用不同的用户代理获取目标页面:
Mozilla/5.0(Windows;U;Windows NT 5.1;en-US;rv:1.8.1.14)Gecko/20080404 Firefox/2.0.0.14

作为解决方法,您可以在使用 PHP 之间设置自己的代理,您可以查看 curl_setopt CURLOPT_USERAGENT (让 yahoo 托管的 YQL 查询您的代理)或在您的服务器上安装 YQL 版本(使其成为您的托管 YQL 并修改 API 以处理您的 UA 参数)。

关于javascript - YQL中可以添加UserAgent吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29345092/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com