python模仿POST提交HTTP資料以及使用Cookie值
方法一
如果不使用Cookie, 傳送HTTP POST非常簡單:
程式碼如下 | 複製程式碼 |
import urllib2, urllib
data = {'name' : 'www', 'password' : '123456'} |
當使用Cookie時, 程式碼變得有些複雜:
程式碼如下 | 複製程式碼 |
import urllib2
cookies = urllib2.HTTPCookieProcessor() f = opener.open('http://www.xxxx.net/?act=login&name=user01')
data = '<root>Hello</root>' opener.open(request) |
第一次 open() 是進行登入. 伺服器返回的 Cookie 被自動儲存在 cookies 中, 被用在後來的請求.
第二次 open() 用 POST 方法向伺服器傳送了 Content-Type=text/xml 的資料. 如果你不建立一個 Request, 而是直接使用 urlopen() 方法, Python 強制把 Content-Type 改為 application/x-www-form-urlencoded.
方法二
用urllib2庫,帶Cookie請求URL頁面
例1:
程式碼如下 | 複製程式碼 |
import urllib2 |
例2:
程式碼如下 | 複製程式碼 |
import urllib2 import urllib from cookielib import CookieJar cj = CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) # input-type values from the html form formdata = { "username" : username, "password": password, "form-id" : "1234" } data_encoded = urllib.urlencode(formdata) response = opener.open("https://page.com/login.php", data_encoded) content = response.read() |
相關文章
- [轉載]HTTP四種常見的POST提交資料方式HTTP
- 三種 Post 提交資料方式
- 使用axios post 請求資料無法提交的問題iOS
- 短視訊原始碼,python使用post提交圖片原始碼Python
- POST提交資料之---Content-Type的理解;
- 整理post提交資料的四種解析方式
- Python Cookie HTTP獲取cookie並處理PythonCookieHTTP
- 介面測試之 post 常見資料提交方式
- 介面測試之post常見資料提交方式
- Python教程分享:Python Cookie HTTP獲取cookie並處理PythonCookieHTTP
- python傳送HTTP POST請求PythonHTTP
- POST 請求的三種常見資料提交格式
- 模擬資料支援post, put, delete等http方式deleteHTTP
- 前端提交資料後http狀態碼400前端HTTP
- Python培訓技術分享:Python Cookie HTTP獲取cookie並處理PythonCookieHTTP
- vb.net 介面POST方式傳引數提交返回值
- 使用Python獲取HTTP請求頭資料PythonHTTP
- iOS 使用form表單形式提交post請求iOSORM
- android http postAndroidHTTP
- 使用Python模仿檔案行為Python
- jquery中$.get()提交和$.post()提交有區別嗎?jQuery
- HTTP協議中PUT和POST使用區別HTTP協議
- 解決 PbootCMS 網站留言彈出“提交失敗,請使用POST方式提交”的提示boot網站
- Kettle通過Http post請求webservice介面以及結果解析處理HTTPWeb
- cookie的使用方法以及注意事項Cookie
- Python爬蟲Post請求返回值為-1000Python爬蟲
- C# Post 模擬表單提交C#
- Cookie 與 HTTP請求CookieHTTP
- 對社群提交建議以及bug提交
- 使用POST方法傳輸二進位制資料
- vue axios資料請求get、post方法的使用VueiOS
- Android 傳送HTTP GET POST 請求以及通過 MultipartEntityBuilder 上傳檔案(二)AndroidHTTPUI
- php 模擬POST提交的2種方法PHP
- form表單使用 btn submit-btn ajax-post方式提交問題。ORMMIT
- Http Only Cookie保護AccessTokenHTTPCookie
- https與http區別以及https資料加密解密過程HTTP加密解密
- 使用jQuery的$.ajax()向MVC控制器Post資料jQueryMVC
- 再好好聊聊 HTTP 裡的 Cookie | 實用 HTTPHTTPCookie
- session儲存資料庫中以及禁用cookie情況下的處理Session資料庫Cookie