W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
你想創(chuàng)建一個(gè)HTTP客戶端。
在這個(gè)方法中,我們將使用node.js's HTTP庫。我們將從一個(gè)簡單的客戶端GET請求示例返回計(jì)算機(jī)的外部IP。
http = require 'http'
http.get { host: 'www.google.com' }, (res) ->
console.log res.statusCode
get函數(shù),從node.js's http模塊,發(fā)出一個(gè)GET請求到一個(gè)http服務(wù)器。響應(yīng)是以回調(diào)的形式,我們可以在一個(gè)函數(shù)中處理。這個(gè)例子僅僅輸出響應(yīng)狀態(tài)代碼。檢查一下:
$ coffee http-client.coffee
200
如果你是在一個(gè)類似局域網(wǎng)的依賴于NAT的網(wǎng)絡(luò)中,你可能會(huì)面臨找出外部IP地址的問題。讓我們?yōu)檫@個(gè)問題寫一個(gè)小的coffeescript 。
http = require 'http'
http.get { host: 'checkip.dyndns.org' }, (res) ->
data = ''
res.on 'data', (chunk) ->
data += chunk.toString()
res.on 'end', () ->
console.log data.match(/([0-9]+\.){3}[0-9]+/)[0]
我們可以從監(jiān)聽'data'事件的結(jié)果對象中得到數(shù)據(jù),知道它結(jié)束了一次'end'的觸發(fā)事件。當(dāng)這種情況發(fā)生時(shí),我們可以做一個(gè)簡單的正則表達(dá)式來匹配我們提取的IP地址。試一試:
$ coffee http-client.coffee
123.123.123.123
請注意http.get是http.request的快捷方式。后者允許您使用不同的方法發(fā)出HTTP請求,如POST或PUT。
在這個(gè)問題上的API和整體信息,檢查node.js's http和https文檔頁面。此外,HTTP spec可能派上用場。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: