国产探花免费观看_亚洲丰满少妇自慰呻吟_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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日喀则市| 维西| 招远市| 巴楚县| 军事| 岳池县| 乐陵市| 定日县| 抚远县| 绵阳市| 新巴尔虎右旗| 尉氏县| 青阳县| 广安市| 石楼县| 微博| 项城市| 吉安县| 和林格尔县| 延津县| 甘洛县| 肇州县| 册亨县| 大方县| 古浪县| 丰县| 万源市| 北安市| 深圳市| 岳西县| 汶上县| 垦利县| 铜鼓县| 博乐市| 天水市| 定西市| 廊坊市| 长岭县| 忻州市| 廊坊市| 吐鲁番市|