Python使用requests提交HTTP表单的方法

yipeiwu_com6年前Python基础

Python的requests库, 其口号是HTTP for humans,堪称最好用的HTTP库。

使用requests库,可以使用数行代码实现自动化的http操作。以http post,即浏览器提交一个表格数据到web服务器,为例,来说明requests的使用。

无cookie

import requests
url = 'www.test.org'
data = {'username': 'user', 'password': '123456'}
response = requests.post(url, data)

有cookie——显示添加cookie

import requests
url = 'www.test.org'
data = {'username': 'user', 'password': '123456'}
headers = {'Cookie': 'SshCAcaoCookie-6-2=qQOGw0eWu7vZiumIAezdJJEUL3w-'}
response = requests.post(url, data, headers=headers)

有cookie——隐式添加cookie

import requests
url = 'www.test.org'
data = {'username': 'user', 'password': '123456'}
session = requests.Session()
session.get(url)
response = session.post(url, data,)

在调试以上脚本时,可以通过对比使用浏览器和使用Python脚本时的tcpdump文件,来定位问题。使用tcpdump抓包时,建议指定网卡和端口号抓包:

tcpdump -i network_interface_name port port_num -s 0 -w ./1.pcap

以上这篇Python使用requests提交HTTP表单的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 匹配任意字符(包括换行符)的正则表达式写法

想使用正则表达式来获取一段文本中的任意字符,写出如下匹配规则: (.*) 结果运行之后才发现,无法获得换行之后的文本。于是查了一下手册,才发现正则表达式中,“.”(点符号)匹配的是除了换...

在Python中使用全局日志时需要注意的问题

在使用 uliweb 开发 soap webservice 后,启动 uliweb 时,werkzeug 的日志莫名其妙丢失了。 正常的日志: 复制代码 代码如下:[INFO] ...

Python实现批量修改文件名实例

本文实例讲述了Python实现批量修改文件名的方法。分享给大家供大家参考。具体如下: 下载了评书《贺龙传奇》,文件名中却都含有xxx有声下载,用脚本将其去掉。脚本涉及os.rename重...

wxPython的安装图文教程(Windows)

wxPython的安装图文教程(Windows)

一、wxPython介绍 1、wxPython是Python语言的一套优秀的GUI图形库。wxPython可以很方便的创建完整的、功能键全的GUI用户界面。 wxPython是作为优秀的...

在Django model中设置多个字段联合唯一约束的实例

使用Django中遇到这样一个需求,对一个表的几个字段做 联合唯一索引,例如学生表中 姓名和班级 2个字段在一起表示一个唯一记录。 Django中model部分的写法, 参见 uniqu...