Python自動化測試 :urllib2 傳送HTTP Request
urllib2 是Python自帶的標準模組, 用來傳送HTTP Request的。 類似於 .NET中的, HttpWebRequest類
urllib2 的優點
Python urllib2 發出的HTTP Request, 能自動被Fiddler截獲, 方便了除錯。
Python 可以自動處理Cookie
urllib2 的缺點
Python urllib2 發出的http Request, 中的header 會被修改成“首字母大寫”,
比如你的程式碼裡寫的header 是: content-TYPE=application/x-www-form-urlencoded , 會被修改為 Content-Type=application/x-www-form-urlencoded
例項一, Get方法, 並且自定義header
# -* - coding: UTF-8 -* - import urllib2request = urllib2.Request("")request.add_header('content-TYPE', 'application/x-www-form-urlencoded')response = urllib2.urlopen(request)print response.getcode()print response.geturl()print response.read()
例項二, post方法
# -* - coding: UTF-8 -* - import urllib2import urllibrequest = urllib2.Request("http://passport.cnblogs.com/login.aspx")request.add_header('content-TYPE', 'application/x-www-form-urlencoded')data={"tbUserName":"test_username", "tbPassword":"test_password"}response = urllib2.urlopen(request, urllib.urlencode(data))print response.getcode()print response.geturl()print response.read()
例項三: Cookie 的處理
# -* - coding: UTF-8 -* - import urllib2import urllibimport cookielibcj = cookielib.CookieJar()opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))request = urllib2.Request("")request.add_header('content-TYPE', 'application/x-www-form-urlencoded')data={"tbUserName":"test_username", "tbPassword":"test_password"}response = opener.open(request, urllib.urlencode(data))# send again, you will see cookie sent to web serverresponse = opener.open(request, urllib.urlencode(data))print response.getcode()print response.geturl()print response.read()
例項四:如何處理跳轉
建立Opener時, ul2.HTTPRedirectHandler是預設被加上的handler之一
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/200/viewspace-2811545/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【python3.x】傳送自動化測試報告郵件Python測試報告
- 【python介面自動化】- 使用requests庫傳送http請求PythonHTTP
- [python] request 介面測試自動化指令碼轉化為 [locust] 效能測試指令碼Python指令碼
- python自動化測試Python
- nodejs使用request傳送http請求NodeJSHTTP
- python 介面自動化測試Python
- 自動化測試系列 —— UI自動化測試UI
- Python 自動化測試框架unittestPython框架
- python自動化測試-原創Python
- 使用 request 和 cheerio 庫來傳送 HTTP 請求HTTP
- 【自動化測試入門】自動化測試思維
- 『居善地』介面測試 — 9、介面自動化框架的傳送郵件實現框架
- DRF + vue + request + selenium 自動化測試平臺,它來了Vue
- python 桌面應用自動化測試Python
- Python自動化測試框架介紹Python框架
- selenium+python自動化測試Python
- Python自動化測試框架-pytestPython框架
- python+pytest介面自動化傳送post請求Python
- Python自動化測試Selenium+chrome連線HTTP代理全攻略PythonChromeHTTP
- 軟體測試:自動化測試
- 自動化裝置測試與自動化測試的區別
- http介面測試工具,cookie自動追加HTTPCookie
- 自動化測試理解
- 自動化測試思路
- airTest自動化測試AI
- 介面自動化測試
- API自動化測試API
- 自動化測試框架框架
- 自動化元件測試元件
- Jmeter+Ant+Python 介面自動化測試JMeterPython
- 基於Python豆瓣自動化測試【2】Python
- Python自動化測試~PO模型封裝Python模型封裝
- Python 自動化測試開發大綱Python
- Python 自動化測試 必會模組 UnittestPython
- Unittest單元測試框架——BeautifulReport測試報告和Yagmail自動傳送郵件框架測試報告AI
- python傳送HTTP POST請求PythonHTTP
- 測試開發之自動化篇-自動化測試框架設計框架
- 如何學習自動化測試?從手工測試到自動化測試的過程…