python向网页上传excle、text文件

python向网页上传excle、text文件

在讲解如何上传之前需要了解Content-Type的知识点

  1. multipart/form-data:Content-Type的类型为multipart/form-data时,代表以上传文件、图片等二进制数据,当然也可以上传表单键值对,只是最后会转化为一条信息;
  2. x-www-form-urlencoded:只能上传键值对,并且键值对都是间隔分开的。;
    首先先看post上传的data是哪种类型的 Content-Type,一般在请求头都可以看到,如下分别两种类型:
    2.1 x-www-form-urlencoded

    2.1 x-www-form-urlencodedd

目前的大部分需要登陆的基本都是 x-www-form-urlencoded,上传文件基本是multipart/form-data,下面主要讲multipart/form-data上传步骤。
3.登陆,在一些网站上可能要先登陆账号才能进入上传的网页,不要的这个步骤可忽略

import requests
import res = requests.session()
res1 = s.post(url="http://xxxx.com/login",headers = {'User-Agent':'Mozilla/3.0 (Windows NT 5.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36','Referer':'http://xxx.com/','Content-Type': 'application/x-www-form-urlencoded'},data = {'data':data,'username': username,'password':password},allow_redirects=False
)
cookie_jar = res1.cookies#获取cookies
cookies = requests.utils.dict_from_cookiejar(cookie_jar)#把cookie取出成为键值对(字典dist)

4.上传

file = {"file": open(r"C:\Users\admin\Desktop\test.txt", "rb"),"Content-Type": "application/vnd.ms-excel","Content-Disposition": "form-data","filename" : "test.txt"}
#准备post上载的data
post_data = { "config" : "%7B%22fileType%22%3A0%2C%22delimiter%22%3A0%7D"}#####上载数据
res = s.post(url="http://www/localConnection/uploadFile",headers = {"User-Agent": "Mozilla/3.0 (Windows NT 2.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0","Accept": "*/*","Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2","Accept-Encoding": "gzip, deflate",#"Content-Type": "multipart/form-data; boundary=---------------------------2353594107737071428225794889","Origin": "http://www.com","Connection": "keep-alive","Referer": "http://www.com/web/","Cookie":cookies#cookies为登陆是获取到的cookies},files = file,data = post_data
)

在上传代码模块时核心是要找出:file和data这了个部分的数据,下面的图为使用自己手动模拟上传,通过fiddler抓包工具,分析http请求的参数如下:

在这个案例中data的值只有一个:“config” : “%7B%22fileType%22%3A0%2C%22delimiter%22%3A0%7D”
file四个参数值,按上面的图将对应的值进行赋予即可,第一个为上传文件的路径,后面三个变量根据抓包的结果。

python向网页上传excle、text文件相关推荐

  1. python requests 发送 上传 多个文件

    目录 1.上传文件 代码实例 2.files参数 字典类型 3.files参数 元组列表类型 1.上传文件 代码实例 在requests中发送文件的接口只有一种,那就是使用requests.post的 ...

  2. Python实现向s3共享存储上传和下载文件

    Python实现向s3共享存储上传和下载文件 https://www.cnblogs.com/liang545621/p/10298617.html 使用Python从S3上传和下载文件 https: ...

  3. python调用接口上传文件_python上传文件接口

    文件的参数组装: ('文件名',"open打开的文件(rb模式打开)",'文件的类型说明') 关于不同的请求参数类型,使用requests的处理: 1.文件上传(Content-T ...

  4. YDOOK: Sanic: Python request post请求 上传照片或文件 详细具体步骤 亲测可用!

    YDOOK: Sanic: Python request post请求 上传照片或文件 详细具体步骤 亲测可用! ©YDOOK JYLin 1. 项目目录架构: Upload result: 上传结果 ...

  5. python下载网页上的文件_用Python下载一个网页保存为本地的HTML文件实例

    Python打开网页并另存为静态html怎么实现 如何用python把网页上的文本内容保存下来那一世的长情,谱一首长相思,冷了多少凄凉,漫了多少青丝,化作多少烟雨,吹散多少世间情!徒悲,奈何,这一世, ...

  6. python requests 上传文件_Fastapi 上传多个文件(包含服务器端和python客户端代码)...

    Fastapi有上传多个文件的接口代码,亲测可用.缺点是:使用浏览器接口文档操作比较方便,如果客户端没有浏览器,使用python写的代码来上传文件,则调了很久都调不成功.Fastapi官方链接:Fas ...

  7. Web项目,网页上传excel文件并解析实战示例

    最近写了一个基于poi解析excel文件的工具类,所以想在web项目中测试一下,就做了这个简单的项目.本项目主要使用了 SpringMVC+RESTful+Maven的风格.适合有一定基础的人员. 源 ...

  8. python模拟浏览器上传文件_Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)...

    http协议本身的原始方法不支持multipart/form-data请求,这个请求由原始方法演变而来的. multipart/form-data的基础方法是post,也就是说是由post方法来组合实 ...

  9. Python监控目录文件夹,并使用SFTP上传目录及文件到linux服务器

    Python 扫描监控本地文件夹并进行超大文件上传 方案1:WebUploader大文件分块多线程并发上传 方案2:watchdog目录文件夹监控,paramiko STFP上传服务器 方案3:优化2 ...

  10. python 下载网页文件_『如何用python把网页上的文本内容保存下来』python爬取网页内容教程...

    python爬虫:如何爬网页数据并将其放在文本 用requests库 r=r.requests.get(url) r.concent 保存到文件里就行了 如何用python把网页上的文本内容保存下来 ...

最新文章

  1. html5改成块状标签,HTML5基本网页结构以及标签的改变
  2. sap 后台作业状态都是什么含义
  3. ResourceLoader 获取资源
  4. Linux系统7z文件解压
  5. Redis主从持久化测试
  6. 漫反射 高光反射_如何有效地使用反射
  7. php 实现跨站下载图片,一个图片url访问后直接下载怎样实现
  8. BZOJ3312: [Usaco2013 Nov]No Change
  9. Security+ 学习笔记35 配置管理
  10. 【SpringBoot_ANNOTATIONS】属性赋值 01 @Value赋值
  11. 支持DX11游戏对硬件的要求
  12. 微信小程序——从后台获取数据库数据并在前台显示(前端+后端+数据库)
  13. 14、pyspider框架
  14. intellij idea自动提示方法快捷键
  15. 0x80073712_win10 1709更新失败提示错误0x80073712怎么办
  16. 基于VC++的3D地形绘制与纹理贴图
  17. 阿里2014校园招聘 笔试题
  18. 2021.1.21课程摘要(逻辑教育-王劲胜)
  19. 从App Store获取最新APP版本号
  20. opencv学习—简单车牌识别操作(python)

热门文章

  1. WordPress星级评分插件KK Star Ratings评分插件教程
  2. STM32F103_study61_The punctual atoms(Clock System Intro)
  3. “降维打击”到底什么意思?
  4. 使用ret2libc攻击方法绕过数据执行保护
  5. fcitx 添加输入法但并没有输入候选项
  6. 当时光匆匆才知道梦想遥不可及
  7. MySQL comment 使用
  8. lol人物模型提取(九)——终章
  9. 《高质量C++/C编程指南》陷阱 【转】
  10. IoU,GIoU,DIoU、CIoU详解