
在接口測試中或者說在網絡爬蟲中,urllib2庫是必須要掌握的一個庫,當然還有優秀的requests庫,今天重點來說urllib2庫在接口測試中的應用。urllib2定義了很多的函數和類,這些函數和類能夠幫助我們在復雜情況下獲取URLS的內容。這些情況包含了對headers的添加,cookie的處理,代理,超時,鑒權等的處理。如果想詳細的了解urllib2庫,建議到官方查看,官方地址:https://docs.python.org/2/library/urllib2.html。查看urllib2庫的詳細的幫助文檔,見執行的代碼:
#!/usr/bin/env python
#-*-coding:utf-8-*-
import urllib2
print type(help(urllib2))
首先我們來看一個完整的請求和響應內容,然后通過urllib2的庫來實現這樣的一個過程,我們訪問http://m.cyw.com/切換城市,見抓取的信息,見截圖:

見客戶端發送請求后,服務端響應回復的內容截圖:

在如上的截圖中,我們知道了請求的URL,方法以及請求的參數,下來我們使用urllib2的庫來實現一個完整的請求過程和響應內容,見實現的代碼:

調用如上的函數后,見執行的結果:
http的狀態碼: 200
響應內容: {"status":true,"homeUrl":"/xian"}
在接口的測試中,客戶端向服務端發起請求的時候,需要添加header這樣服務端,否則服務端會拒絕客戶端的請求,那么在urllib2庫中,如何添加header了,見如下的案例代碼:

發送一個request的請求,然后請求資源,在該實例中,如果沒有headers,發送請求,會顯示404的錯誤信息,見不帶header發送請求后服務端的響應內容:

見執行函數后的錯誤信息,顯示為:
File "C:Python27lib甥汲楬b2.py