給你一個建議,或許你應該學學 postman

簡單模擬請求的工具 (๑• . •๑)

給你一個建議,或許你應該學學 postman

使用

最簡單的方法就是直接在瀏覽器中複製 Copy as cURL ,然後把數據導入 postman,然後 send ,收工。

我們這裡拿 知乎首頁 舉例

給你一個建議,或許你應該學學 postman

在對應的請求下複製 cURL

打開 postman , 點擊左上角的 Import , 選擇Paste Raw Text ,最後 Import,點擊 send發送請求

給你一個建議,或許你應該學學 postman

發送請求之後就可以查看了,如下圖,標箭頭的地方可以打開看更多。比如可以預覽web界面,查看 Headers 信息,查看狀態,複製代碼。

給你一個建議,或許你應該學學 postman

同時可以打開 Headers ,用來調試,哪些是需要的,哪些不需要

給你一個建議,或許你應該學學 postman

最方便的一點是,可以直接生成對應的編程語言,並複製,例如Python的requests方法:

給你一個建議,或許你應該學學 postman

好了,到這裡 postman 的簡單功能就說完了,他的全部功能當然不止這一點,更多的就去看 文檔啦

問題

在我的使用過程中,發現了 postman 的一些問題,如:導入錯誤,參數錯誤,請求失誤。

導入錯誤

例如知乎這個例子,如果我們複製的是 Copy as cURL (cmd) ,可能你會遇到下面的錯誤

給你一個建議,或許你應該學學 postman

這個時候選用 Copy as cURL (bush) 就好了,具體原因是啥,我也不清楚。我在這裡找到了別人的描述

There is no difference between the two cURL command because there is a difference between ” and ‘.

Refer : Use cURL to get the same results as a web browser

參數錯誤

舉個例子,今天在幫朋友查看 這個網站 的翻頁,複製用postman打開, copy cURL 內容是

給你一個建議,或許你應該學學 postman

導入之後,send,返回 400 錯誤。

postman 轉義的code是:

給你一個建議,或許你應該學學 postman

可以看到 加入了大量的 ^ 符號,這個在Python中是運算符

1 ^按位異或運算符:當兩對應的二進位相異時,結果為1(a ^ b) 輸出結果 49 ,二進制解釋: 0011 0001。

這也是 postman 的一個問題

請求失誤

這個問題,我也不是很懂,有的請求 postman 返回錯誤,但是複製代碼到 Python 環境中運行是可以獲得數據的,所以最好是多次驗證。

文末知識點摘要:Python 中,字符串"連接"效率最高的方式是?一定出乎你的意料

網上很多文章人云亦云,字符串連接應該使用「join」方法而不要用「+」操作。說前者效率更高,它以更少的代價創建新字符串,如果用「+」連接多個字符串,每連接一次,就要為字符串分配一次內存,效率顯得有點低,這樣的解釋聽起來很有道理,但 Cpython 解釋器是不是真的按照我們說的這樣呢?

今天做了一個試驗,結果可能會出乎你的意料。

給你一個建議,或許你應該學學 postman

上面 3 個函數分別表示用「join」和「format」還有「+」操作來連接字符串,從 0 到 n,總共 n 個數字連接起來構成一個新的字符串,形如:1234567891011……n。

下面是測試腳本:

給你一個建議,或許你應該學學 postman

每組取了15個樣本數據,分別用 1,2,4,8,… 8192 個數字相連接,得到的統計數據可以看出,在數據量非常少的時候,三者效率幾乎沒什麼差異,當少於20個字符串連接時,用「+」效率甚至更高,不過,隨著字符串的個數增多,「join」方法發揮出來效果了,而用「+」越來越慢。這點無論是 python2 還是 python3 基本上是一樣的。

給你一個建議,或許你應該學學 postman

給你一個建議,或許你應該學學 postman

所以結論是:如果連接的字符串很少,只有幾個或者十幾個,完全可以通過「+」來連接,畢竟這種方式更直白,而超過一定個數之後,則應該採用「join」方法,只有在操作大數據的時候,兩者的對比才明顯。

通過現象看本質才能做到知其然並知其所以然。Cpython 編譯器內部其實針對字符串做了非常多的優化工作。在下篇文章準備專門寫一寫字符串工作原理的文章,這裡先買個瓜子,預知後事如何,請關注「菜鳥學Python」

本篇文章分享到此結束,部分素材來源網絡與自己整理,如有侵權,請聯繫刪除,希望本篇文章的分享對正在學習Python的你有所幫助。


分享到:


相關文章: