3
HTTP-CONSOLE adalah modul nod yang memberi anda antara muka baris arahan untuk melaksanakan arahan HTTP. Ia bagus untuk menyahpepijat dan melihat dengan tepat apa yang sedang berlaku dengan permintaan HTTP anda, tanpa mengira sama ada mereka dibuat terhadap pelayan web, perkhidmatan web, atau pelayan pangkalan data.
Alat HTTP-Console membolehkan anda mengeluarkan pelbagai permintaan HTTP, memeriksa tajuk, dan melihat badan tindak balas, menjadikannya alat yang efisien untuk mengenal pasti dan menyelesaikan masalah dalam aplikasi web masa nyata.
Kami sebenarnya memasang http-console2, dan bukan http-console. HTTP-CONSOLE2 adalah garpu http-console, tetapi termasuk penetapan untuk bug yang disebabkan oleh keperluan. Ia diterbitkan kepada NPM sebagai http-console2, tetapi sekali dipasang, anda masih menjalankannya sebagai http-console.
Kami memasang http -console2 dengan suis global -g. Ini bermakna anda boleh menghubungi HTTP-Console dari mana saja, kerana ia dipasang di lokasi di Path $ anda:
$> npm install http-console2 -g
mari kita sambungkan ke pelayan dan mengeluarkan beberapa arahan. Kami akan menyimpan perkara yang mudah untuk dimulakan dan mengeluarkan beberapa permintaan untuk pelayan web. Saya akan mengandaikan bahawa, ketika anda membaca ini, anda seorang pemaju web. Dan, kerana anda seorang pemaju web, anda mungkin mendapat pelayan web yang berjalan di http: // localhost. Beritahu HTTP-CONSOLE untuk menyambung kepadanya dengan menaip yang berikut:
$> type http-console http-console is /usr/local/bin/http-console
Mari cuba arahan lain. Baru -baru ini saya menulis tentang Rangka Kerja Web Express untuk Node, kami membuat halaman untuk memaparkan sepuluh tweet terkini yang menyebut SitePoint. Saya tertanya-tanya apa yang akan berlaku jika kita menggunakan http-console untuk menanyakan API carian Twitter untuk tweet yang sama?
$> npm install http-console2 -g
kini mengeluarkan permintaan untuk /searve.json?q=sitePoint&rpp=10:
$> type http-console http-console is /usr/local/bin/http-console
Sekali lagi, kita dapat kembali tajuk HTTP, tetapi kali ini kita mendapat badan respons HTTP sebagai JSON (JSON penuh ditinggalkan untuk menjimatkan ruang).
Tetapi kami tidak terhad untuk menyambung ke pelayan web dan perkhidmatan web dengan HTTP-CONSOLE. Kami juga boleh menggunakannya untuk menyambung ke pelayan pangkalan data yang menawarkan API yang tenang, seperti CouchDB. (Jika anda tidak memasang CouchDB, cara paling mudah untuk bangun dan berjalan adalah untuk mengklon https://github.com/iriscouch/build-couchdb dan mengikuti arahan dalam readme.md).
Dengan mengandaikan CouchDB sedang berjalan (jika anda dipasang melalui couchdb bermula dengan couchdb semestinya berjalan. ~/Path/to/binaan-couchdb/binaan/env.sh, kemudian couchdb), sambungkan http-console kepadanya seperti:
$> http-console http://localhost > http-console 0.6.1 > Welcome, enter .help if you're lost. > Connecting to localhost on port 80.
kita kemudian boleh mengeluarkan arahan terhadap pangkalan data. Mari kita dapatkan senarai semua pangkalan data:
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>
bagaimana dengan membuat pangkalan data baru?
$> 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.
mengeluarkan semula arahan get /_all_dbs, dan kami akan melihat pangkalan data baru kami disenaraikan:
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', ...
Sekarang mari kita tambahkan dokumen ke pangkalan data FoodB. Kami perlu menetapkan pengepala jenis kandungan ke Aplikasi/JSON, yang mudah dilakukan dengan mengeluarkan arahan .j (untuk melihat semua jenis arahan yang tersedia. Help pada prompt http-console):
$> 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.
Kami boleh mengeluarkan permintaan kepala untuk mendapatkan maklumat mengenai dokumen, memadam permintaan untuk memadam dokumen, dan memadam permintaan untuk memadam pangkalan data:
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' ]
Jadi, melihat dengan cepat menggunakan HTTP-CONSOLE untuk membuat dan memeriksa permintaan HTTP. Kami membuat permintaan GET mudah ke pelayan web, membuat panggilan API ke API carian Twitter, dan mengeluarkan arahan ke pelayan CouchDB. Diberikan YMMV, tetapi diharapkan anda akan mendapat tambahan yang berguna untuk tali pinggang pembangunan web anda.
Konsol HTTP dalam Node.js adalah alat baris arahan yang membolehkan pemaju menghantar permintaan HTTP dan melihat respons. Ia menyediakan antara muka yang mudah dan intuitif untuk debugging trafik HTTP. Pemaju boleh menggunakan pelbagai arahan untuk menghantar pelbagai jenis permintaan HTTP, memeriksa tajuk, dan melihat badan tindak balas. Ini menjadikannya lebih mudah untuk mengenal pasti isu -isu dan memahami bagaimana aplikasi berkomunikasi dengan pelayan. Ia menyediakan antara muka yang mudah dan intuitif, menjadikannya mudah bagi pemaju untuk menghantar permintaan HTTP dan melihat respons. Ia juga membolehkan pemaju memeriksa tajuk dan badan tindak balas, yang boleh menjadi penting dalam mengenal pasti isu -isu. Di samping itu, konsol HTTP menyokong pelbagai kaedah HTTP, menjadikannya alat yang serba boleh untuk debugging. Setelah dipasang, anda boleh mula menggunakan konsol HTTP dengan menaip 'HTTP-CONSOLE' di terminal anda. Anda kemudian boleh menggunakan pelbagai arahan untuk menghantar permintaan HTTP, memeriksa tajuk, dan melihat badan tindak balas. Sebagai contoh, anda mungkin mendapati bahawa kaedah permintaan tidak betul, menyebabkan pelayan bertindak balas dengan ralat. Atau, anda mungkin mengenal pasti isu -isu dengan tajuk, seperti nilai yang hilang atau salah. Dengan memeriksa badan tindak balas, anda juga boleh mengenal pasti isu -isu dengan data yang dikembalikan oleh pelayan. Sifat asynchronous, yang didorong oleh peristiwa menjadikannya cekap mengendalikan pelbagai sambungan, menjadikannya sesuai untuk aplikasi web masa nyata. Di samping itu, penggunaan konsol HTTP menyediakan antara muka yang mudah dan intuitif untuk menghantar permintaan HTTP dan memeriksa respons, menjadikannya lebih mudah untuk mengenal pasti dan membetulkan isu -isu. Bahasa pengaturcaraan. Walau bagaimanapun, alat dan kaedah khusus yang digunakan untuk penyahpepijatan HTTP mungkin berbeza -beza bergantung kepada bahasa. Selalu terbaik untuk menggunakan alat dan kaedah yang direka untuk bahasa tertentu yang anda bekerjasama.
Atas ialah kandungan terperinci HTTP Debugging dengan Node dan HTTP-Console. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!