如何在YQL中更改用户代理?

时间:2014-01-03 13:23:46

标签: yql

我正在尝试使用此数据表示例中的代码更改User-Agent:https://github.com/yql/yql-tables/blob/master/data/data.headers.xml

req = y.rest(url);
req.header('User-Agent', ua);

但似乎行不通,我的服务器收到Http Header:YahooCacheSystem

是否有可能在YQL中更改UA?

1 个答案:

答案 0 :(得分:1)

您可以通过传递ua参数来更改用户代理,例如:

use "<your_table_execute_key>" as data_headers; select * from data_headers where url="http://www.amazon.com/" and ua="Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"

有了这个说法,通过UA似乎没有对返回的HTML内容产生影响,至少对于使用上面的示例查询的亚马逊来说 - 我期望通过传递iPhone UA获得移动版本字符串,但事实并非如此。

更新:传递iPhone UA字符串适用于http://www.yahoo.com/(我有移动版本),所以它可能不适用于亚马逊,因为它需要另一个我们没有为移动设置的HTTP标头。 / p>