6

每当我调用服务器上的以下方法(CoffeeScript)时,我都会从维基百科得到“脚本应该使用带有联系信息的信息性用户代理字符串,否则它们可能会在没有通知的情况下被 IP 阻止”。如何在通话中包含用户代理信息?或者它是从 Meteor Accounts 中获取的(我还没有使用)?感谢您的任何帮助...

Meteor.methods
  wpSearch: (queryStr) ->
    result = Meteor.http.call "GET", "http://en.wikipedia.org/w/api.php",
      params:
        action: "query"
        list: "search"
        format: "json"
        srwhat: "text"
        srsearch: queryStr
4

2 回答 2

10

为了向未来的访问者澄清之前的答案,Meteor.http.get 的语法如下:

result = Meteor.http.get("https://api.github.com/user", {
   headers: {
      "User-Agent": "Meteor/1.0"
   },
   params: {
      access_token: accessToken
   } 
});

注意 headers 选项周围的花括号和分隔 headers 和 params 选项的逗号(没有这些东西是语法错误)。此示例是 EventedMind 如何在 onCreateUser() 回调期间自定义 loginButtons 的一部分。

于 2013-05-22T05:21:48.750 回答
9

只需在参数中设置User-Agentheaders(参见http://docs.meteor.com/#meteor_http

Meteor.methods
  wpSearch: (queryStr) ->
    result = Meteor.http.call "GET", "http://en.wikipedia.org/w/api.php",
      headers:
        "User-Agent": "Meteor/1.0"
      params:
        action: "query"
        list: "search"
        format: "json"
        srwhat: "text"
        srsearch: queryStr
于 2012-12-03T01:59:52.583 回答