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实现在IDLE中输入多行的方法

在python命令行模式下,在IDLE中输入多行,例如if  else 使用tab的方式,控制缩进 在最后,连续两个回车,表示结束 >>> if stat...

Python环境下安装使用异步任务队列包Celery的基础教程

1.简介 celery(芹菜)是一个异步任务队列/基于分布式消息传递的作业队列。它侧重于实时操作,但对调度支持也很好。 celery用于生产系统每天处理数以百万计的任务。 celery是...

Django中的Signal代码详解

Django中的Signal代码详解

本文研究的主要是Django开发中的signal 的相关内容,具体如下。 前言 在web开发中, 你可能会遇到下面这种场景: 在用户完成某个操作后, 自动去执行一些后续的操作. 譬如用...

python实现每次处理一个字符的三种方法

本文实例讲述了python每次处理一个字符的三种方法。分享给大家供大家参考。 具体方法如下: a_string = "abccdea" print 'the first' f...

使用pyshp包进行shapefile文件修改的例子

由于最近在处理shp文件,想要跳出arcpy的限制,所以打算学习一下pyshp包的使用方法。在使用《Python地理空间分析指南(第2版)》的时候发现书中部分代码由于版本更新,无法运行。...