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 ...
随机推荐
- Bootstrap & Font Awesome 学习笔记
学习网站:http://bootstrap.ninghao.net/index.html https://www.freecodecamp.cn http://www.runoob.com/boots ...
- LaTeX 交叉引用系统简介
目录 摘要 1. 简介 2. 指定标签或标记符 3. 标签的位置 4. 引用的生成和更新 5. 引用相关的警告信息 6. 扩展引用功能的宏包 6.1 varioref宏包 6.2 cleveref宏包 ...
- MySQL学习(十六)
MySQL高级部分 触发器 触发器是一类特殊的事务,可以监视某种数据操作(insert/update/delete),并触发相关的操作(insert/update/delete) 触发器创建语法之4要 ...
- linux基础07-bash编程(变量,变量类型)
(1)shell: 弱类型编程语言 强:变量在使用前,必须事先声明,甚至还需要初始化:弱:变量用时声明,甚至不区分类型: 变量赋值:VAR_NAME=VALUE (2)bash变量类型: 环境变量 本 ...
- python logging日志输出个文件中
# -*- coding:utf-8 -*- import logging # 引入logging模块 import os.path import time # 第一步,创建一个logger logg ...
- Getting started with Processing 第六章总结
平移,旋转和缩放 前言 在这一章节中,平移.旋转和缩放都是以原点为基准的.并且是通过控制坐标系原点的位置来达到图元平移,旋转.缩放的视觉效果.作者在文中的原话是:另一种在屏幕上改变位置和移动物体的技术 ...
- Getting started with Processing 第七章总结
媒体 如何将文件导入 Processing 中 在 Processing 中,程序是通过应用 data 文件夹中的文件来显示的,这个文件夹可以通过菜单栏中的 Sketch>show sketch ...
- caffe-ssd
1.安装依赖 1 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-ser ...
- Confluence 6 修改空间名字和标识
希望修改空间名称: 在空间名称的边上,选择 图标. 输入新的空间名称,然后单击 保存(Save). 标识(Logo )- 修改空间的名称和标识. 重新组织(Reorder) - 拖动来从新组织快捷链 ...
- jquery 根据自定义属性选择
<div myattr="test">text</div> 使用$("div[myattr='test']")进行选择