• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python模仿POST提交HTTP数据及使用Cookie值的方法

Python模仿POST提交HTTP数据及使用Cookie值的方法

作者:shichen2014 字体:[增加 减小] 来源:互联网

shichen2014 通过本文主要向大家介绍了python http post,python http post请求,python 发送http post,python requests post,python 发送post请求等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了在Python中模仿POST HTTP数据及带Cookie提交数据的实现方法,分享给大家供大家参考。具体实现方法如下:

方法一

如果不使用Cookie, 发送HTTP POST非常简单:
data = {'name' : 'www', 'password' : '123456'}
f = urllib2.urlopen(
        url     = 'http://www.jb51.net/',
        data    = urllib.urlencode(data)
  )
print f.read()</div>
当使用Cookie时, 代码变得有些复杂:
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)</div>
第一次 open() 是进行登录. 服务器返回的 Cookie 被自动保存在 cookies 中, 被用在后来的请求.

第二次 open() 用 POST 方法向服务器发送了 Content-Type=text/xml 的数据. 如果你不创建一个 Request, 而是直接使用 urlopen() 方法, Python 强制把 Content-Type 改为 application/x-www-form-urlencoded.

方法二

用urllib2库,带Cookie请求URL页面

例1:
opener = urllib2.build_opener()
opener.addheaders.append(('Cookie', 'cookiename=cookievalue'))
f = opener.open("http://example.com/")</div>
例2:
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()</div>

希望本文所述对大家的Python程序设计有所帮助。

</div>

您可能想查找下面的文章:

  • python通过get,post方式发送http请求和接收http响应的方法
  • python通过get,post方式发送http请求和接收http响应的方法
  • python使用post提交数据到远程url的方法
  • Python模仿POST提交HTTP数据及使用Cookie值的方法

相关文章

  • 简单学习Python time模块
  • Python中__new__与__init__方法的区别详解
  • Python面向对象编程中关于类和方法的学习笔记
  • python 文件与目录操作
  • python获取指定网页上所有超链接的方法
  • Python中利用原始套接字进行网络编程的示例
  • Python两个整数相除得到浮点数值的方法
  • 横向对比分析Python解析XML的四种方式
  • 跟老齐学Python之数据类型总结
  • Python使用scrapy采集时伪装成HTTP/1.1的方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python完全新手教程
    • python基础教程之对象和类的实际运用
    • Python读写ini文件的方法
    • wxpython学习笔记(推荐查看)
    • Pyhton中防止SQL注入的方法
    • Python生成不重复随机值的方法
    • 简明 Python 基础学习教程
    • Python编程判断一个正整数是否为素数的方法
    • 关于python的bottle框架跨域请求报错问题的处理方法
    • pymongo实现控制mongodb中数字字段做加法的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有