python http 请求 响应 post表单提交
1. 查看请求 响应情况
print(response.text)
print(response.headers)
print(response.request.body)
print(response.request.headers)
2. post的multipart/form-data请求
# multipart/form-data请求
url = 'https://www.douban.com/group/topic/111306566/add_comment#last'
rv_comment = " 自动帮你顶帖 "
verify_code = ''
pic_id = ''
payload = {
"ck": (None,cookie.get('ck')),
"rv_comment": (None,rv_comment),
"start": (None,0),
# "captcha-solution": verify_code,
# "captcha-id": pic_id,
"submit_btn": (None,"发送")
}
cookiesDit = cookie.getAll()
headers['Accept'] = 'text/plain, */*; q=0.01'
headers['Accept-Encoding'] = 'gzip, deflate, br'
headers['Accept-Language'] = 'zh-CN,zh;q=0.9'
response = requests.post(url, files=payload , headers=headers, cookies=cookiesDit)
# https://blog.csdn.net/yu12377/article/details/77188895
转:https://www.cnblogs.com/LanTianYou/p/8379419.html
要模拟multipart/form-data类型请求,可以用python3的requests库完成。代码示例如下:
#请求的接口url
url = "url" #假设待上传文件与脚本在同一目录下
dir_path = os.path.abspath(os.path.dirname(__file__))
#待上传文件的路径,这里假设文件名为test.txt
file_path = os.path.join(dir_path,'test.txt') '''
field_1,field_2...field_n代表普通字段名
value_1,value_2...value_n代表普通字段值
files为文件类型字段 实际应用中字段名field_n均需要替换为接口抓包得到的实际字段名
对应的字段值value_n也需要替换为接口抓包得到的实际字段值
'''
files={
'field_1':(None,'value_1'),
'field_2':(None,'value_2'),
...
'field_n':(None,'value_n'),
'files':('test.txt',open(file_path,'rb'),'text/plain'),
} r = s.post(url,files=files)
python http 请求 响应 post表单提交的更多相关文章
- Java后台使用httpclient入门HttpPost请求(form表单提交,File文件上传和传输Json数据)
一.HttpClient 简介 HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 ...
- SpringBoot防止重复请求,重复表单提交超级简单的注解实现
1. 注解接口 /** * @description 防止表单重复提交注解 */@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHO ...
- python接口自动化17-multipart/form-data表单提交
前言 multipart/form-data这种格式官方文档给的参考案例比较简单,实际情况中遇到会比较复杂,本篇讲解multipart/form-data的表单如何提交,非图片上传 禅道提交bug 1 ...
- ajax请求与form表单提交共存的时候status为canceled
chrome浏览器调试,发现,status竟然是canceled状态 网上总论: 1.在URL变更后,会对当前正在执行的ajax进求进行中止操作.中止后该请求的状态码将为canceled 2.在使用到 ...
- 表单提交---前端页面模拟表单提交(form)
有些时候我们的前端页面总没有<form></form>表单,但是具体的业务时,我们又必须用表单提交才能达到我们想要的结果,LZ最近做了一些关于导出的一些功能,需要调用浏览器默认 ...
- 用python模拟登录(解析cookie + 解析html + 表单提交 + 验证码识别 + excel读写 + 发送邮件)
老婆大人每个月都要上一个网站上去查数据,然后做报表. 为了减轻老婆大人的工作压力,所以我决定做个小程序,减轻我老婆的工作量. 准备工作 1.tesseract-ocr 这个工具用来识别验证码,非常好用 ...
- Form表单提交,Ajax请求,$http请求的区别
做过前端同学想必都避免不了要和后台server打交道.而以下这三种与后台交互的方式想必大家都不陌生. Form表单提交,Ajax请求,Angular的$http请求 以前一直搞不清楚什么时候应该用哪种 ...
- 结合API Gateway和Lambda实现登录时的重定向和表单提交请求(Python3实现)
1. 创建Lambda函数,代码如下: from urllib import parse def lambda_handler(event, context): body = event['body' ...
- MVC下HtmlHelper自带BeginForm表单提交与异步Ajax请求
假如有一个数据表格UserInfo: public class UserInfo { public int Id { get; set; } public string Name { get; set ...
随机推荐
- 在阿里云服务器上搭建xampp遇到的问题
参考文章:http://blog.csdn.net/hel12he/article/details/49781813 http://www.laozuo.org/8178.html http://bl ...
- 解决UnicodeEncodeError: 'gbk' codec can't encode character u'\u25aa' in position 344 : illegal multiby
Python拿来做爬虫的确很不错,但是字符串的编码的确是稍不留神就是一个坑,GBK编码和Unicode编码的转化出现问题也是很多的,今天在解析网页数据的时候出现上述错误,解决方案如下: one_str ...
- win10,配置python3.6,虚拟环境
1.安装python3.6(官网下载) 2.pip install virtualenv(安装虚拟环境) 3.virtualenv TestEnv(创建名为TestEnv的虚拟环境) 4.进入Test ...
- openModelica调试
1打印信息 Modelica.Utilities.Streams.print(“messge”);
- arcgis 属性表字段值计算
1 如果你用VBSCRIPT的代码,那就在对应的选择项目处选择下,如果是PYTHON代码,就在另外一点点一下.如果弄混了,显然代码会报错. 2 VBSCRIPT里面的函数非常少,但是你可以去利用这些函 ...
- C# : 泛型的继承关系实现的一个可以存放不同数据类型的链表
以下定义的是一个链表结点类型: internal sealed class Node<T> { public T m_data; public Node<T> m_next; ...
- layui: 子iframe关闭/传值/刷新父页面
https://www.cnblogs.com/jiqing9006/p/5135697.html layer iframe层的使用,传参 父层 <div class="col-x ...
- 单细胞文章分享:Molecular Diversity of Midbrain Development in Mouse, Human, and Stem Cells
Molecular Diversity of Midbrain Development in Mouse, Human, and Stem Cells 本文作者的官网:Ventral midbrain ...
- Confluence 6 归档一个空间
当你认为一个空间不再需要实时进行编辑,但你还希望在后面某个时候能够对空间重新进行访问编辑的时候,你可以对空间进行归档.归档一个空间,这样你可以让你归档的空间让最少的人能看见,但是你的空间还是可以在 C ...
- Confluence 6 指派和撤销空间权限
指派空间权限 希望添加一个新用户或者用户组到权限列表中,从希望选择的选项中查找用户组或者用户,然后选择 添加(Add).用户和用户组将会显示在列表中:选择你希望引用的权限,然后选择 保存所有(Save ...