Heim >Web-Frontend >js-Tutorial >HTTP-Debugging mit Knoten und HTTP-Konsole
http-console ist ein Knotenmodul, das Ihnen eine Befehlszeilenschnittstelle zum Ausführen von HTTP-Befehlen bietet. Es ist großartig, um genau zu debugieren und genau zu sehen, was mit Ihren HTTP -Anfragen vor sich geht, unabhängig davon, ob sie gegen einen Webserver, einen Webdienst oder sogar einen Datenbankserver hergestellt werden.
Ein paar Dinge zu beachten:
$> npm install http-console2 -g
Wir installieren tatsächlich HTTP-Console2 und nicht HTTP-Console. HTTP-Console2 ist eine Gabel von HTTP-Console, beinhaltet jedoch eine Fix für einen Fehler, der durch Anforderungen verursacht wird. Es wird als http-console2 an npm veröffentlicht, aber nach der Installation führen Sie es immer noch als http-console aus.
Um mit der Verwendung von HTTP-Console zu beginnen, übergeben wir sie einfach an die URL und den Port, an das wir uns herstellen möchten, und beginnen Sie mit der Ausgabe von HTTP-Befehlen.
$> type http-console http-console is /usr/local/bin/http-console
Stellen wir eine Verbindung zu einem Server her und geben Sie einige Befehle aus. Wir werden die Dinge einfach zu Beginn halten und einige GET -Anfragen an einen Webserver ausstellen. Ich gehe davon aus, dass Sie beim Lesen ein Webentwickler sind. Und wenn Sie ein Webentwickler sind, haben Sie wahrscheinlich einen Webserver auf http: // localhost. Sagen Sie HTTP-Console, eine Verbindung dazu herzustellen, indem Sie Folgendes eingeben:
$> http-console http://localhost > http-console 0.6.1 > Welcome, enter .help if you're lost. > Connecting to localhost on port 80.wir erhalten die volle HTTP -Antwort, einschließlich der HTTP -Header, und die HTML selbst. Sie können HTTP-Console beenden, indem Sie .Q
eingeben
Versuchen wir einen anderen Befehl. Kürzlich habe ich über das Express -Web -Framework für Node geschrieben. Wir haben eine Seite erstellt, um die zehn neuesten Tweets zu zeigen, die SitePoint erwähnen. Ich frage mich, was passieren würde, wenn wir HTTP-Console verwenden, um die Such-API von Twitter für ähnliche Tweets abzufragen?
$> npm install http-console2 -g
Geben Sie nun eine GET -Anfrage für /search.json?q=SitePoint&rpp=10:
aus$> type http-console http-console is /usr/local/bin/http-console
Wieder kehren wir die HTTP -Header zurück, aber diesmal erhalten wir den Körper der HTTP -Antwort als JSON (der vollständige JSON wird weggelassen, um Platz zu sparen).
, aber wir sind nicht darauf beschränkt, eine Verbindung zu Webservern und Webdiensten mit HTTP-Console herzustellen. Wir können es auch verwenden, um eine Verbindung zu Datenbankservern herzustellen, die erholsame APIs wie CouchDB anbieten. (Wenn Sie CouchDB nicht installiert haben, können Sie am einfachsten auf dem Laufenden kommen, um https://github.com/iriscouch/build-couchdb zu klonen und den Anweisungen in readme.md) zu folgen.
Angenommen, CouchDB wird ausgeführt (wenn Sie über Build-CouchDB installiert sind, sollte CouchDB so einfach sein wie ausführen. ~/Path/to/build-couchdb/build/env.sh, dann CouchDB), schließen Sie HTTP-Console wie so:
an.$> http-console http://localhost > http-console 0.6.1 > Welcome, enter .help if you're lost. > Connecting to localhost on port 80.
Wir können dann Befehle an der Datenbank ausstellen. Lassen Sie uns eine Liste aller Datenbanken erhalten:
http://localhost:80/> GET / HTTP/1.1 200 OK Server: nginx/1.0.11 Date: Wed, 04 Jan 2012 08:40:04 GMT Content-Type: text/html Content-Length: 151 Last-Modified: Mon, 04 Oct 2004 15:04:06 GMT Connection: keep-alive Accept-Ranges: bytes <html> <head> <title>Welcome to nginx!</title> </head> <body bgcolor="white" text="black"> <center><h1>Welcome to nginx!</h1></center> </body> </html>
Wie wäre es mit einer neuen Datenbank?
$> http-console http://search.twitter.com > http-console 0.6.1 > Welcome, enter .help if you're lost. > Connecting to search.twitter.com on port 80.
Veröffentlichung des Befehls get /_all_dbs erneut und wir sehen unsere neue Datenbank aufgelistet:
http://search.twitter.com:80/> GET /search.json?q=sitepoint&rpp=10 HTTP/1.1 200 OK Cache-Control: max-age=15, must-revalidate, max-age=300 Expires: Fri, 17 Feb 2012 22:04:02 GMT Content-Type: application/json;charset=utf-8 Content-Length: 7749 Vary: Accept-Encoding Date: Fri, 17 Feb 2012 21:59:02 GMT X-Varnish: 2065334673 Age: 0 Via: 1.1 varnish Server: tfe { page: 1, since_id: 0, max_id_str: '170628259464216576', refresh_url: '?since_id=170628259464216576&q=sitepoint', completed_in: 0.107, results: [ { to_user_id_str: null, to_user_name: null, id: 170628259464216580, iso_language_code: 'en', ...
Lassen Sie uns nun der FoodB -Datenbank ein Dokument hinzufügen. Wir müssen den Header vom Typ des Inhalts auf Anwendung/JSON festlegen, was einfach durch die Ausgabe des .j-Befehls ausführen kann (um alle verfügbaren Befehle zu sehen.
$> http-console http://127.0.0.1:5984 > http-console 0.6.1 > Welcome, enter .help if you're lost. > Connecting to 127.0.0.1 on port 5984.Wir können Kopfanfragen ausstellen, um Informationen zu Dokumenten zu erhalten, Anfragen zum Löschen von Dokumenten zu löschen und Anfragen zum Löschen von Datenbanken zu löschen:
http://127.0.0.1:5984/> GET /_all_dbs HTTP/1.1 200 OK Server: CouchDB/1.1.1 (Erlang OTP/R15B) Date: Wed, 04 Jan 2012 08:26:18 GMT Content-Type: text/plain;charset=utf-8 Content-Length: 25 Cache-Control: must-revalidate [ '_replicator', '_users' ]Das war also ein kurzer Blick auf die Verwendung von HTTP-Console, um HTTP-Anforderungen zu erstellen und zu überprüfen. Wir haben einen einfachen Get -Anfragen an einen Webserver erstellt, einen API -Anruf bei Twitters Such -API gemacht und Befehle an einen CouchDB -Server ausgegeben. Zugegeben YMMV, aber hoffentlich finden Sie es eine nützliche Ergänzung zu Ihrem Webentwicklungs -Toolgürtel.
häufig gestellte Fragen zum HTTP -Debuggen mit Node und HTTP -Konsole
Das obige ist der detaillierte Inhalt vonHTTP-Debugging mit Knoten und HTTP-Konsole. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!