2012-12-03 3 views
5

Immer wenn ich die folgende Methode (CoffeeScript), die auf dem Server ist, aufrufen, bekomme ich "Skripte sollten eine informative User-Agent-Zeichenfolge mit Kontaktinformationen verwenden, oder sie können ohne Ankündigung IP-blockiert werden" von Wikipedia. Wie schließe ich User-Agent-Informationen in den Anruf ein? Oder greift es von Meteor Accounts (die ich noch nicht benutze)? Vielen Dank für jede Hilfe ...Wie man User-Agent-Informationen in eine Meteor.http.call einfügt? MediaWiki benötigt es

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 

Antwort

8

Stellen Sie einfach User-Agent im headers Parameter (siehe 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 
+0

Ah ja, danke. Sieht so aus, als ob es mit der Änderung des Hinzufügens von Anführungszeichen um User-Agent funktioniert: headers: "User-Agent": "Meteor/1.0" – GaryM

+0

Ah, offensichtlich habe ich vergessen, sie hinzuzufügen. Danke, dass du darauf hingewiesen hast. –

10

Um die vorherige Antwort für zukünftige Besucher, die Syntax für Meteor.http.get zu klären ist wie folgt:

Beachten Sie die geschweiften Klammern um die Header-Option und das Komma nach dem Trennen der Header und Parameter s Optionen (es ist ein Syntaxfehler ohne diese Dinge). Dies ist ein Beispiel für die EventedMind-Anleitung zum Anpassen der loginButtons während des onCreateUser() - Callbacks.