Gibt es in Node.js neben der Verwendung des untergeordneten Prozesses zum Ausführen eines CURL- Aufrufs eine Möglichkeit, einen CURL-Aufruf an die REST- API des Remoteservers durchzuführen und die Rückgabedaten abzurufen?
Ich muss auch den Anforderungsheader für den Remote- REST- Aufruf einrichten und auch die Zeichenfolge in GET (oder POST) abfragen.
Ich finde dieses: http://blog.nodejitsu.com/jsdom-jquery-in-5-lines-on-nodejs
Es wird jedoch keine Möglichkeit zur POST-Abfragezeichenfolge angezeigt.
Antworten:
Ansehen
http.request
quelle
Wie wäre es mit Request - Simplified HTTP Client .
Bearbeiten Februar 2020: Die Anfrage ist veraltet, sodass Sie sie wahrscheinlich nicht mehr verwenden sollten.
Hier ist ein GET:
OP wollte auch einen POST:
quelle
Schauen Sie sich http://isolasoftware.it/2012/05/28/call-rest-api-with-node-js/ an.
quelle
Ich verwende Node-Fetch, weil es die bekannte (wenn Sie ein Webentwickler sind) fetch () API verwendet . fetch () ist die neue Methode, um beliebige HTTP-Anforderungen vom Browser aus zu stellen.
Ja, ich weiß, dass dies eine Frage des Knotens ist, aber möchten wir nicht die Anzahl der API-Entwickler reduzieren, die sich unseren Javascript-Code merken und verstehen müssen, und die Wiederverwendbarkeit verbessern? Fetch ist ein Standard. Wie wäre es also, wenn wir uns dem annähern?
Das andere schöne an fetch () ist, dass es ein Javascript- Versprechen zurückgibt , sodass Sie asynchronen Code wie folgt schreiben können:
Fetch ersetzt XMLHTTPRequest . Hier noch ein paar Infos .
quelle
node-fetch
beim Schreiben von APIs ist, dass nur die vollständige URL funktioniert und nicht mit relativen URLs.Ich habe Restler verwendet, um Webservices aufzurufen, funktioniert wie Charme und ist ziemlich ordentlich.
quelle
Axios
Ein Beispiel (axios_example.js) mit Axios in Node.js:
Stellen Sie sicher, dass Sie in Ihrem Projektverzeichnis Folgendes tun:
Anschließend können Sie die REST-API von Node.js mit Ihrem Browser unter folgender Adresse testen:
http://localhost:5000/search?queryStr=xxxxxxxxx
Ebenso können Sie Beiträge verfassen, z.
SuperAgent
Ebenso können Sie SuperAgent verwenden.
Und wenn Sie eine grundlegende Authentifizierung durchführen möchten:
Ref:
quelle
So verwenden Sie die neuesten Async / Await-Funktionen
https://www.npmjs.com/package/request-promise-native
//Code
quelle
ein weiteres Beispiel - dafür müssen Sie das Anforderungsmodul installieren
quelle
quelle
Ich habe mit cURL keine gefunden, also habe ich einen Wrapper um node-libcurl geschrieben und kann unter https://www.npmjs.com/package/vps-rest-client gefunden werden .
Einen POST zu machen ist wie folgt:
quelle
Wenn Sie über Node.js 4.4+ verfügen, sehen Sie sich reqclient an. Dort können Sie Anrufe tätigen und die Anforderungen im cURL- Stil protokollieren , sodass Sie die Anrufe außerhalb der Anwendung problemlos überprüfen und reproduzieren können.
Returns Versprechen Objekte anstelle von Pass einfach Rückrufe, so dass Sie das Ergebnis in einem mehr verarbeiten kann „Mode“ Art und Weise, die Kette das Ergebnis leicht und Griff Fehler in üblicher Weise. Entfernt außerdem viele Boilerplate-Konfigurationen für jede Anforderung: Basis-URL, Zeitüberschreitung, Inhaltstypformat, Standardheader, Parameter und Abfragebindung in der URL sowie grundlegende Cache-Funktionen.
Dies ist ein Beispiel dafür, wie Sie es initialisieren, einen Anruf tätigen und den Vorgang im Curl- Stil protokollieren :
Dadurch wird die Konsole angemeldet ...
Und wenn die Antwort zurückgegeben wird ...
Dies ist ein Beispiel für die Behandlung der Antwort mit dem Versprechen-Objekt:
Natürlich kann es installiert werden mit :
npm install reqclient
.quelle
Sie können curlrequest verwenden, um einfach festzulegen , wann die Anforderung ausgeführt werden soll. Sie können sogar Überschriften in den Optionen festlegen, um einen Browseraufruf zu " fälschen ".
quelle
Ich fand Superagent wirklich nützlich, es ist zum Beispiel sehr einfach
quelle
Warnung: Ab dem 11. Februar 2020 ist die Anfrage vollständig veraltet.
Wenn Sie mit Formulardaten implementieren, erhalten Sie weitere Informationen ( https://tanaikech.github.io/2017/07/27/multipart-post-request-using-node.js ):
quelle