国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python模仿POST提交HTTP數據及使用Cookie值的方法

2020-02-23 06:10:22
字體:
來源:轉載
供稿:網友

本文實例講述了在Python中模仿POST HTTP數據及帶Cookie提交數據的實現方法,分享給大家供大家參考。具體實現方法如下:

方法一

如果不使用Cookie, 發送HTTP POST非常簡單:
代碼如下:import urllib2, urllib
data = {'name' : 'www', 'password' : '123456'}
f = urllib2.urlopen(
        url     = '//www.jb51.net/',
        data    = urllib.urlencode(data)
  )
print f.read()
當使用Cookie時, 代碼變得有些復雜:
代碼如下:import urllib2
cookies = urllib2.HTTPCookieProcessor()
opener = urllib2.build_opener(cookies)
f = opener.open('http://www.xxxx.net/?act=login&name=user01')
data = '<root>Hello</root>'
request = urllib2.Request(
        url     = 'http://www.xxxx.net/?act=send',
        headers = {'Content-Type' : 'text/xml'},
        data    = data)
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
opener = urllib2.build_opener()
opener.addheaders.append(('Cookie', 'cookiename=cookievalue'))
f = opener.open("http://example.com/")
例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()

希望本文所述對大家的Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金平| 万安县| 武夷山市| 定兴县| 克东县| 集安市| 乌鲁木齐市| 昆明市| 哈尔滨市| 永川市| 客服| 珠海市| 浑源县| 固阳县| 安西县| 儋州市| 贵港市| 都兰县| 通城县| 托克逊县| 拉萨市| 达日县| 莱芜市| 龙泉市| 雅江县| 巢湖市| 衡山县| 聂拉木县| 巩义市| 香港| 虎林市| 祥云县| 罗平县| 大竹县| 乌鲁木齐市| 德惠市| 岳池县| 两当县| 内黄县| 横山县| 迁西县|