天天看點

盤點常用語言http請求用戶端的驚豔架構

對于前後端互動的應用,http請求可以說是最重要的功能,而慶幸地是各個語言對于用戶端請求都有非常好用的庫來使用,今天我們就來盤點一下各個語言中那些驚豔的http請求庫。

Guzzle

Guzzle是一個PHP HTTP用戶端,可以輕松發送HTTP請求并輕松與Web服務內建。 它的代碼非常優雅,同時它的功能也非常強大,它不僅支援同步請求,也支援異步請求,對于大型檔案的下載下傳,json資料的傳輸解析它都有很好的支援。

盤點常用語言http請求用戶端的驚豔架構

它是對底層http的封裝,是以對于curl和socket等沒有硬性依賴。

Requests

如果你接觸過python的話,那麼你就一定接觸過這個庫,因為很多新人接觸python都是從爬蟲開始的,而對于簡單的爬蟲來說,requests這個庫足以滿足,此外,即使是複雜的爬蟲,它也能應付得來。

盤點常用語言http請求用戶端的驚豔架構

requests可以說是最優雅的python http庫了,沒有之一。從認證到連接配接池,從多檔案處理到逾時處理,從流式下載下傳到分片傳輸,他都能很好地支援,并且它的代碼非常優雅,你隻需要很少的代碼就能輕松實作你想要請求的結果。

Retrofit

進行過android開發的人員都知道Android中有個非常好用的庫叫做okhttp,而retrofit是在 okhttp上進行的封裝,除了OkHttp的所有低級功能外,它還提供了一種建構Java類的方法,該類抽象了HTTP詳細資訊并提供了一個對于Java友好的通路API。

盤點常用語言http請求用戶端的驚豔架構

HttpClient

相對于開源的語言,c#的架構基本都是微軟進行開發的,而對于http的請求封裝,微軟為我們提供了非常好用的基類HttpClient,使用它我們可以輕松地進行http的請求。有了它,我們不需要引入第三方類,我們可以直接使用它。

盤點常用語言http請求用戶端的驚豔架構

net/http

不同于其它語言,golang語言對于底層網絡請求給出了非常好用的封裝,你可以直接使用官方的http庫就可以。雖然網絡上存在着各種關于http請求的封裝,有的是類似python中的requests的封裝,但是這些分裝有些使用過于繁瑣,有些性能上有瓶頸,而官方自帶的網絡請求包可以說是最佳的選擇。

盤點常用語言http請求用戶端的驚豔架構

cpr

這是一個c++的網絡請求庫,它的靈感來源于python的requests,當你學習過很多語言之後,你就會發現,python的網絡請求庫requests是多麼地優雅,以至于很多語言都在學習這種優雅的請求封裝。

盤點常用語言http請求用戶端的驚豔架構

cpr是一個基于libcurl的封裝,它讓網絡請求變得更加友善和優雅。

axios

Axios基于Promise的簡單HTTP用戶端,它可以用于浏覽器端和node.js端。 它可以輕松地進行擴充,并且可以非常友善地和第三方架構進行內建。 它的使用也非常簡潔,很多架構都采用它進行http請求的封裝。

總結

雖然網絡請求看似很簡單,但是其實它也是最複雜的,我們幾乎所有的應用都離不開網絡請求,而網絡上會出現各種狀況,有權限的驗證,有逾時的處理,有弱網的加強,各種複雜的問題導緻進行網絡請求并不簡單,但是很多前輩們用他們的智慧給了我們無數好用的架構進行了指點,我們因該珍惜這些代碼,珍惜并從中有所領悟。

碼字不易,如果覺得本篇文章對你有用的話,請給我一鍵三連!關注作者,後續會有更多的幹貨分享,請持續關注!