是否可以将 UserAgent 添加到 YQL 中?

Is it possible to add UserAgent to YQL?

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

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

所以我添加了 user-agent,如下所示:

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"';

现在它不再 return 这个值了:(
我的主要 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下的'non-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 参数)。