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表单提交的更多相关文章

  1. Java后台使用httpclient入门HttpPost请求(form表单提交,File文件上传和传输Json数据)

    一.HttpClient 简介 HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 ...

  2. SpringBoot防止重复请求,重复表单提交超级简单的注解实现

    1. 注解接口 /** * @description 防止表单重复提交注解 */@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHO ...

  3. python接口自动化17-multipart/form-data表单提交

    前言 multipart/form-data这种格式官方文档给的参考案例比较简单,实际情况中遇到会比较复杂,本篇讲解multipart/form-data的表单如何提交,非图片上传 禅道提交bug 1 ...

  4. ajax请求与form表单提交共存的时候status为canceled

    chrome浏览器调试,发现,status竟然是canceled状态 网上总论: 1.在URL变更后,会对当前正在执行的ajax进求进行中止操作.中止后该请求的状态码将为canceled 2.在使用到 ...

  5. 表单提交---前端页面模拟表单提交(form)

    有些时候我们的前端页面总没有<form></form>表单,但是具体的业务时,我们又必须用表单提交才能达到我们想要的结果,LZ最近做了一些关于导出的一些功能,需要调用浏览器默认 ...

  6. 用python模拟登录(解析cookie + 解析html + 表单提交 + 验证码识别 + excel读写 + 发送邮件)

    老婆大人每个月都要上一个网站上去查数据,然后做报表. 为了减轻老婆大人的工作压力,所以我决定做个小程序,减轻我老婆的工作量. 准备工作 1.tesseract-ocr 这个工具用来识别验证码,非常好用 ...

  7. Form表单提交,Ajax请求,$http请求的区别

    做过前端同学想必都避免不了要和后台server打交道.而以下这三种与后台交互的方式想必大家都不陌生. Form表单提交,Ajax请求,Angular的$http请求 以前一直搞不清楚什么时候应该用哪种 ...

  8. 结合API Gateway和Lambda实现登录时的重定向和表单提交请求(Python3实现)

    1. 创建Lambda函数,代码如下: from urllib import parse def lambda_handler(event, context): body = event['body' ...

  9. MVC下HtmlHelper自带BeginForm表单提交与异步Ajax请求

    假如有一个数据表格UserInfo: public class UserInfo { public int Id { get; set; } public string Name { get; set ...

随机推荐

  1. 【BZOJ】3926: [Zjoi2015]诸神眷顾的幻想乡

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3926 广义后缀自动机... 久仰公之大名啊... 太阳花田的结构比较特殊,只与一个空地相邻 ...

  2. JavaSE 字符串和正则表达式

    根据不懂的自己整理一下,跟着老师进度刷一遍课本,记录琐碎不懂知识 1.StringTokenizer类 String[] mess= {"整数部分","小数部分" ...

  3. eclipse maven maven-compiler-plugin 报错 完全解决

    报错如下: Maven install失败 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:comp ...

  4. TypeError: add() argument after * must be an iterable, not Settings的错误原因

    在抄代码的时候发现有个错误: TypeError: add() argument after * must be an iterable, not Settings 看不懂,百度才知道原因,原来是第2 ...

  5. HttpClient的POST请求返回302解决

    HttpClient请求POST提示302,而且返回的response中的Localtion是我访问时使用的URL, 例如:我使用的URL是https://bbs.csdn.net?client_id ...

  6. C#_Demo_摄像头实时_4线程人脸识别注册开发全过程

    v效率有点低,大家看看哪里开可以节省时间?源代码:https://github.com/catzhou2002/ArcFaceDemo说实话,为了提高识别效率,我也是竭尽所能,干了不少自认为的优化,如 ...

  7. 学习笔记45—Linux压缩集

    1.压缩功能 安装 sudo apt-get install rar 卸载 sudo apt-get remove rar 2.解压功能 安装 sudo apt-get install unrar 卸 ...

  8. iterm2 + zsh + oh-my-zsh +autojump

    iterm2  + zsh  +  oh-my-zsh +autojump 升级你的命令行工具,这个我折腾了好久,才明白了各个之间的关系. 1.先下载一个item2 首先你需要下一个iterm2,不要 ...

  9. Windows 下 Redis 服务无法启动,错误 1067 进程意外终止解决方案

    1.检查端口是否被占用 2.修改 Windows 服务里的 Redis 服务为本地系统服务(修改方式见下文) 方法: 1.看系统日志 桌面计算机/此电脑(Win10名称)右键打开管理,或 Win+R ...

  10. 雷林鹏分享:jQuery EasyUI 树形菜单 - 树形网格添加分页

    jQuery EasyUI 树形菜单 - 树形网格添加分页 本教程展示如何向带有动态加载特性的树形网格(TreeGrid)添加分页. 创建树形网格(TreeGrid) 启用树形网格(TreeGrid) ...