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() |
相關文章
- vc http post傳參提交HTTP
- [轉載]HTTP四種常見的POST提交資料方式HTTP
- jQuery post()方法提交資料jQuery
- 關於http get和form表單post提交資料大小限制HTTPORM
- 三種 Post 提交資料方式
- 使用axios post 請求資料無法提交的問題iOS
- 短視訊原始碼,python使用post提交圖片原始碼Python
- 整理post提交資料的四種解析方式
- 四種常見的 POST 提交資料方式
- 向Solr資料集提交Json格式資料(Scala,Post)SolrJSON
- node.js http.get 和http.post 資料Node.jsHTTP
- 介面測試之 post 常見資料提交方式
- 介面測試之post常見資料提交方式
- POST提交資料之---Content-Type的理解;
- 安卓基礎-get post請求與提交資料安卓
- Python Cookie HTTP獲取cookie並處理PythonCookieHTTP
- IOS 使用 POST、GET 提交 JSON 資料到伺服器iOSJSON伺服器
- POST 請求的三種常見資料提交格式
- Python教程分享:Python Cookie HTTP獲取cookie並處理PythonCookieHTTP
- python傳送HTTP POST請求PythonHTTP
- 前端提交資料後http狀態碼400前端HTTP
- 模擬資料支援post, put, delete等http方式deleteHTTP
- 三種方法教你如何用PHP模擬post提交資料PHP
- vb.net 介面POST方式傳引數提交返回值
- HTTP&POST使用阻塞之鬱悶HTTP
- iOS 使用form表單形式提交post請求iOSORM
- 使用Python獲取HTTP請求頭資料PythonHTTP
- Python培訓技術分享:Python Cookie HTTP獲取cookie並處理PythonCookieHTTP
- Python模擬HTTP Post上傳檔案PythonHTTP
- atitit.http get post的原理以及框架實現java phpHTTP框架JavaPHP
- 使用Python模仿檔案行為Python
- android http postAndroidHTTP
- $_POST,$HTTP_RAW_POST_DATA,php://inputHTTPPHP
- python http 相關資料PythonHTTP
- jquery中$.get()提交和$.post()提交有區別嗎?jQuery
- 【Python】python透過get方式,post方式傳送http請求和接收http響應PythonHTTP
- HTTP協議中PUT和POST使用區別HTTP協議
- Tomcat、http、get/postTomcatHTTP