導航:首頁 > 編程語言 > js如何創建http請求

js如何創建http請求

發布時間:2025-06-15 16:38:48

❶ nodejs 怎樣創建一個http長連接的客戶端

默認情況下,NodeJS HTTP 伺服器對每個客戶端的Web Request的連接時長是2分鍾,也就是說,一旦2分鍾內,你伺服器端沒有發送response,那麼客戶端的連接就會被關閉(重置?),在現實的應用中,我後台處理數據的時間可能很長,也許3分鍾,也許5分鍾,客戶也願意等待,那麼我完全可以把連接時長設置的多一些。為了解決這個問題,我找了很久,網上大多數說的是怎麼縮短timeout的時間,而且很多都是自己調用全局的setTimeout()函數來控制的,說nodeJs沒有提供相應的API。直到昨天才發現,原來nodeJs的Http庫,有一個setTimeout()的函數,可以解決這個問題,(我本機的,0.6版是沒有這個函數的),這篇文章有提及: http://contourline.wordpress.com/2011/03/30/preventing-server-timeout-in-node-js/

說明:
調用nodeJs API, http.createServer()返回的Server對象,有一個setTimeout()方法,可以傳入你想要的連接時長,默認是1200000(即2分鍾),改成0表示不會timeout。而response對象,也有一個setTimeout()方法,我不知道兩者有什麼區別,但是我的理解是server.setTimeout()是全局的,response.setTimeout()只針對本次request。

代碼
對於expressJs,相關代碼是:
var server = http.createServer(app);
server.setTimeout(0);
server.listen(app.get('port'), function () {
console.log('Express server listening on port ' + app.get('port'));
});

對於restify,相關代碼是:
server.server.setTimeout(0);
server.listen(8080, function () {
console.log('%s listening at %s', server.name, server.url);
});

❷ Nodejs中使用request

在Node.js中,處理HTTP請求是一項基礎且重要的任務。本文將介紹如何使用request庫,包括非同步和同步請求的實現,以及如何在Node.js環境中構建和管理HTTP服務。

首先,我們來談談非同步請求。使用request庫,你需要進行以下步驟:

1. 安裝request模塊:`npm install request`

2. 對於GET和POST請求,非同步request的用法有所不同。例如,發送GET請求:`request.get('http://example.com', callback)`,而POST請求則需要傳遞一個JSON對象:`request.post('http://example.com', {json: {key: 'value'}}, callback)`。

同步request的實現更為直接,如sync-request,但請注意,它可能不是最佳實踐,因為它會阻塞Node.js事件循環。同步請求的安裝和使用方法與非同步類似,但返回的是完整的response對象。

在Node.js中,處理HTTP請求涉及到Request(req)和Response(res)對象。你可以通過`http`模塊創建一個伺服器,監聽本地IP(127.0.0.1)或localhost。定義路由時,需要確定方法(GET或POST)、URL規則以及輸入和輸出的格式。例如,通過`req.method`和`req.url`獲取請求方法和URL,然後進行相應的處理。

querystring在HTTP請求中扮演著傳遞參數的角色,它可以幫助解析URL中的查詢字元串。雖然hash(#後面的內容)不能被伺服器獲取,但可以用於實現動態網頁。數據的結構化和非結構化在編程中至關重要,盡量使用結構化的數據便於處理。

返回數據時,利用`res.writeHead()`設置狀態碼、內容類型和body。例如,返回JSON數據時,`res.end(JSON.stringify(data))`。對於HTML數據,需要設置`Content-type`為`text/html`。

獲取Request Body時,由於數據通常是通過流傳輸的,你需要在瀏覽器接收完整內容後再進行處理。流可以用於處理視頻或大文件,瀏覽器會自動接收並分段處理。

總的來說,Node.js中的HTTP請求處理涉及模塊的安裝、請求類型的區別、路由設置、參數解析、響應數據和流處理等環節。通過這些步驟,你可以有效地管理你的HTTP服務。

❸ HTML js怎麼發送HTTP get請求

請參照下面的例子:

/*URL可以隨意改*/

String uriAPI = "http://192.168.1.100:8080/test/test.jsp?u=wangyi&p=456";

/*建立HTTP Get對象*/

HttpGet httpRequest = new HttpGet(uriAPI);

try

{

/*發送請求並等待響應*/

HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest);

/*若狀態碼為200 ok*/

if(httpResponse.getStatusLine().getStatusCode() == 200)

{

/*讀*/

String strResult = EntityUtils.toString(httpResponse.getEntity());

/*去沒有用的字元*/

strResult = eregi_replace("( | | | )","",strResult);

mTextView1.setText(strResult);

}

else

{

mTextView1.setText("Error Response: "+httpResponse.getStatusLine().toString());

}

}

catch (ClientProtocolException e)

{

mTextView1.setText(e.getMessage().toString());

e.printStackTrace();

}

catch (IOException e)

{

mTextView1.setText(e.getMessage().toString());

e.printStackTrace();

}

catch (Exception e)

{

mTextView1.setText(e.getMessage().toString());

e.printStackTrace();

}

閱讀全文

與js如何創建http請求相關的資料

熱點內容
brl格式的文件編輯器 瀏覽:91
安卓如何強制刪除敘述性文件 瀏覽:409
g83怎麼用增量編程 瀏覽:858
win8系統qq文件夾 瀏覽:41
什麼app有大量的撩妹句子 瀏覽:78
支持java的手機瀏覽器 瀏覽:914
劍三修改文件損壞 瀏覽:638
獲取指定文件的路徑嗎 瀏覽:370
ug裝好編程模塊無法用怎麼回事 瀏覽:10
java你畫我猜實驗報告 瀏覽:819
pdf多個文件列印 瀏覽:107
如何壓縮微信ppt文件 瀏覽:385
如何開設網路課程 瀏覽:363
ps如何提取單色文件 瀏覽:652
文件路徑圖片大全 瀏覽:33
怎麼加入編程協會 瀏覽:491
modbus數據如何轉換 瀏覽:399
輻射避難所安卓無限箱子 瀏覽:87
計算機編程從哪裡開始 瀏覽:690
手機隱藏文件在哪裡找 瀏覽:728

友情鏈接