博客园相册管理中有上传照片的功能

现在通过requests库模拟上传图片功能

先手动上传图片,用Fiddler转包,查看到上传图片接口请求格式,

------WebKitFormBoundarySKZgXsXRXkvNw6Bi
Content-Disposition: form-data; name="__EVENTTARGET" ------WebKitFormBoundarySKZgXsXRXkvNw6Bi
Content-Disposition: form-data; name="__EVENTARGUMENT" ------WebKitFormBoundarySKZgXsXRXkvNw6Bi
Content-Disposition: form-data; name="__VIEWSTATE" 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
------WebKitFormBoundarySKZgXsXRXkvNw6Bi
Content-Disposition: form-data; name="__VIEWSTATEGENERATOR" 8BEC36A2
------WebKitFormBoundarySKZgXsXRXkvNw6Bi
Content-Disposition: form-data; name="Results$Add$txbNewTitle" ------WebKitFormBoundarySKZgXsXRXkvNw6Bi
Content-Disposition: form-data; name="Results$Add$ckbNewIsActive" on
------WebKitFormBoundarySKZgXsXRXkvNw6Bi
Content-Disposition: form-data; name="Results$Add$txbNewDescription" ------WebKitFormBoundarySKZgXsXRXkvNw6Bi
Content-Disposition: form-data; name="AddImages$ImageFile"; filename="20120611175238_aCNGz.jpg"
Content-Type: image/jpeg

切换到WebForms

思路参考:

https://www.cnblogs.com/yoyoketang/p/7990127.html

https://www.cnblogs.com/titan5750/p/6879114.html

代码如下:

登录部分的代码不复制,只贴出上传图片的代码,登录部分参考https://www.cnblogs.com/yoyoketang/p/7990127.html

 # 上传图片
f = {"AddImages$ImageFile":("57e9d2a834496.jpg",open("/Users/kki/Downloads/57e9d2a834496.jpg","rb"),"image/jpeg")} data4 = {"Results$Add$ckbNewIsActive":"on",
"AddImages$ckbIsActiveImage":"on",
"AddImages$lbkAddImage":"Add",
"AddImages$txbImageTitle":"我来上传图片",
"__VIEWSTATEGENERATOR":"8BEC36A2",
"__VIEWSTATE":"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"
} r4 = s.post(self.add_image_url,files=f,data=data4)

执行代码后,上传图片成功

requests模拟上传照片的更多相关文章

  1. 【转】asp.net(c#)使用HttpWebRequest附加携带请求参数以post方式模拟上传大文件(以图片为例)到Web服务器端

    原文地址:http://docode.top/Article/Detail/10002 目录: 1.Http协议上传文件(以图片为例)请求报文体内容格式 2.完整版HttpWebRequest模拟上传 ...

  2. 【代码笔记】iOS-图片手势,上传照片

    代码: RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController : UIViewControl ...

  3. Iphone H5上传照片被旋转

    最近做项目发现在Iphone下,我们上传图片都会被翻转,最后查阅资料发现,的确是IOS的问题 不说过程,直接解决方法 iOS下,html方式使用<input type="file&qu ...

  4. Android使用XUtils框架上传照片(一张或多张)和文本,server接收照片和文字(无乱码)

    Android上传图片,这里我使用了如今比較流行的XUtils框架.该框架能够实现文件上传.文件下载.图片缓存等等,有待研究. 以下是Android端上传的代码: xUtils.jar下载 Strin ...

  5. vc libcurl 模拟上传文件

    http://www.cnblogs.com/killbit/p/5393301.html 附上这篇文章,因为当时就已经想到了模拟上传,但是因为时间关系,所以就直接用PHP写了.现在改进一下,用VC+ ...

  6. 玩转OneNET物联网平台之HTTP服务① —— 模拟上传温度(TcpClient)

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  7. Django项目:CRM(客户关系管理系统)--61--51PerfectCRM实现CRM客户报名流程学生合同上传照片

    # sales_views.py # ————————47PerfectCRM实现CRM客户报名流程———————— from django.db import IntegrityError # 主动 ...

  8. mui调用本地相册调用相机上传照片

    调用mui的常用库和jquery html部分: <header class="mui-bar mui-bar-nav"> <a class="mui- ...

  9. Requests库上传文件时UnicodeDecodeError: 'ascii' codec can't decode byte错误解析

    在使用Request上传文件的时候碰到如下错误提示: 2013-12-20 20:51:09,235 __main__ ERROR 'ascii' codec can't decode byte 0x ...

随机推荐

  1. Hadoop关于Wrong FS错误

    关于使用java api上传文件. 在定义一个FileSystem变量的时候伪分布式和单机版的方法是不一样的,单机版使用的是FileSystem类的静态函数 FileSystem hdfs = Fil ...

  2. 初识vue-01

    一.属性和方法 vue自定义的一些数据和方法需要绑定到实例的不同属性上面去例如数据都要绑定要data属性,方法都要绑定到methods方法实例上的data和methods里面的key值会自动挂载到vu ...

  3. [转]Unity3D Editor 编辑器简易教程

    Star 自定义编辑器简易教程 an introduction to custom editors 原文地址 http://catlikecoding.com/unity/tutorials/star ...

  4. iOS 逆向 - Class-dump 安装和使用方法

    1.下载安装包 http://stevenygard.com/projects/class-dump/,这里我下载的是 class-dump-3.5.dmp.然后把下载下来的 dmg 打开,复制文件里 ...

  5. 兔子的晚会 2016Vijos省选集训 day1

    兔子的晚会 (xor.c/pas/cpp)============================= 很久很久之前,兔子王国里居住着一群兔子.每到新年,兔子国王和他的守卫总是去现场参加晚会来欢庆新年. ...

  6. 九度OJ 1079:手机键盘 (翻译)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2279 解决:1233 题目描述: 按照手机键盘输入字母的方式,计算所花费的时间 如:a,b,c都在"1"键上,输入a只 ...

  7. Open-sourcing LogDevice, a distributed data store for sequential data

    https://logdevice.io/blog/2018/09/12/open-sourcing-announcement.html September 12, 2018   We are exc ...

  8. regularexpression_action

    re.compile('"ssid":"[^"]*"}',re.MULTILINE) regex ,str_= re.compile('"s ...

  9. Android笔记之引用aar

    把要引用的aar文件复制到目录app\libs中(我要引用的aar名为xybigdatasdk-release-out2.2.6.aar) 在build.gradle (Module: app)中添加 ...

  10. 【题解】CF1103D Professional layer

    [题解]CF1103DProfessional layer 神题做前先\(orzyyb\) 一个很好的性质(之前也见过但是没有想到的) zhengchu \(gcd\le 10^{12}\) 所以不同 ...