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

首頁 > 編程 > Python > 正文

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

2019-11-25 18:06:24
字體:
來源:轉載
供稿:網友

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

方法一

如果不使用Cookie, 發送HTTP POST非常簡單:

復制代碼 代碼如下:
import urllib2, urllib
data = {'name' : 'www', 'password' : '123456'}
f = urllib2.urlopen(
        url     = '//m.survivalescaperooms.com/',
        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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 土默特左旗| 南宫市| 虹口区| 怀来县| 罗平县| 肃南| 广灵县| 凤山县| 西和县| 五莲县| 靖安县| 松原市| 天津市| 资溪县| 彰化市| 垦利县| 灌云县| 宝山区| 阿拉尔市| 临沭县| 宜宾市| 遵义市| 浮梁县| 苗栗县| 长寿区| 新丰县| 苏州市| 永安市| 内乡县| 洪泽县| 界首市| 揭东县| 阜新市| 屏南县| 潞城市| 达拉特旗| 泸溪县| 湛江市| 盐山县| 建平县| 沁源县|