1 執行Http請求訪問網頁

2021-10-14 09:31:16 字數 1332 閱讀 4418

目的是獲取當當網的html文件內容,我們借助axios這個庫發起http的get請求。

安裝庫: npm install axios

//axios是用於發起http請求的庫

const axios = require('axios');

// 要訪問的目標**

const targeturl = "";

axios.get(targeturl)

.then(function (response) )

.catch(function (error) );

從執行結果可以看出,成功抓取了html文件的內容。但是存在中文亂碼的情況,這種情況一般是編碼不一致問題。axios編碼預設是utf8,那麼我們只需要確定當當網的編碼即可。

使用chrome瀏覽器開啟當當網,在network中任意選中一條請求資源,可以檢視到響應的頭資訊。如下響應頭資訊中編碼為gbk。中文亂碼就確認了是編碼不一致的原因。

既然兩者編碼不一致,那麼解決思路就是改變其中一方的編碼。由於axios不支援gbk,所以我們讓另一方改變,也就是網頁響應結果的編碼轉成utf8

設定請求的響應結果以流方式返回,需要設定responsetype

借助iconv-lite這個庫進行編碼轉換。

安裝庫: iconv-lite

// 

const axios = require('axios');

const iconv = require('iconv-lite');

// 要訪問的目標**

const targeturl = "";

//不斷讀取流資料並放入陣列中,直到全部讀取完就將陣列中的資料轉換為utf8編碼的字串

axios.get(targeturl, )

.then(function (response) );

//'end'沒有更多的資料可讀時觸發

response.data.on('end', function () )

}).catch(function (error) );

SQL Server 訪問傳送Http請求

通用讀取獲取資料儲存過程 開啟sql server 通訊配置 sp configure show advanced options 1 goreconfigure gosp configure ole automation procedures 1 goreconfigure goexec sp c...

網頁http請求的整個過程

這是這兩天面試的時候的一道面試題,當時答得不好,現在總結了一下。一次完整的 http 請求包括一下幾個步驟 這僅是個人的理解 dns解析 tcp 連線 瀏覽器傳送http請求 伺服器響應請求 瀏覽器解析html檔案 瀏覽器布局渲染 1.dns網域名稱解析。1 首先會在瀏覽器dns快取中搜尋是否有對應...

http 請求型別 HTTP 教程1

軟體 簡介http協議 hypertext transfer protocol,超文字傳輸協議 是網際網路上應用最為廣泛的一種網路傳輸協議,所有的www檔案都必須遵守這個標準。http是乙個基於tcp ip通訊協議來傳遞資料 html 檔案,檔案,查詢結果等 http協議是hyper text tr...