Nodejs入門基礎,Egg之CURL的get和post請求

文章首發:今日頭條  https://www.toutiao.com/i6805073960447771144/

咱們在學習nodejs時,我以爲比較簡單的應用仍是從爬蟲着手去學習。畢竟咱們在作項目的時候,沒有數據也不方便分析。node

我這裏應用了egg的框架,不瞭解egg的能夠查看官方文檔,這裏就不介紹了。
咱們先說下CURL請求:
curl 是經常使用的命令行工具,用來請求 Web 服務器。它的名字就是客戶端(client)的 URL 工具的意思。

它的功能很是強大,命令行參數多達幾十種。若是熟練的話,徹底能夠取代 Postman 這一類的圖形界面工具。
json

默認狀況下curl時不帶任何參數,默認就是用get請求;

curl https://www.example.com複製代碼
egg的get請求方式:

this.ctx.curl(url, option)複製代碼
url:固然是請求地址了
option:
method
請求方法,默認爲GET。能夠是GET,POST,DELETE或PUT
data
要發送的數據。將自動進行字符串化
dataType
字符串-響應數據的類型。多是text或json
headers
請求標頭
timeout
請求超時
auth
username:password在HTTP基本受權中使用
followRedirect
遵循HTTP 3xx響應做爲重定向。默認爲false
gzip
讓您在請求鏈接時獲取res對象,默認爲false
nestedQuerystring
urllib默認使用querystring對不支持嵌套對象的表單數據進行字符串化,經過將此選項設置爲true,將使用qs而不是querystring支持嵌套對象
若是請求的結果返回的是json數據,則須要指定數據類型

this.ctx.curl('https://www.example.com', {dataType: 'json'})複製代碼
那麼一個完整的get/post請求就是

this.ctx.curl('https://www.example.com', {
  method: 'GET/POST',
  dataType: 'json',
  headers: {
       token: 'xxx'  
  },
  data: {
    id: 1
  }
  ...
})複製代碼
值得注意一點就是,咱們在請求到的數據是整個網絡體,咱們真正須要的數據也就是網頁體在data中。
掌握curl請求以後就能夠抓取數據了,至於抓取到的數據怎麼分析,就看你本身了。
相關文章
相關標籤/搜索