python中能够发请求的包有很多种,有urllib、urllib2、urllib3、requests等,而且仅这几个python库,就能衍生出上百种请求方法,一一赘述明显不合适,这里仅仅讲述基础方法以及我所遇到的问题。
发送multipart/form-data;
数据
有许多种情形下需要发送multipart/form-data数据,如文件上传、网络验证等
方法一:用urllib2请求
|
|
- boundary所包含的字符串一定是data中分界的字符串,并且一般以--boundary开头,以--boundary--结尾
- 注意data数据换行用\r\n或者\x0d\x0a来分割,最后结尾处也有\r\n
- header头中的Content-type一定得有,但是Content-length却不是必须的
- 一般Content-Disposition: form-data;数据会先空一行,然后才是数据
本内容参考的是:https://gist.github.com/zhenyi2697/5252801
方法二:用requests请求
可能大家会说,requests多简单啊,其实确实是这样的,毕竟requests是专门为黑客开发的一套工具
当然,我们仍然可以利用上述的方法进行请求,我尝试过,仍然可以得到需要的结果!
现在讲讲另外一种方法
在官方网站上,requests模拟一个表单数据的格式如下:
files = {'name': (
, , , )} 如果有多条内容,就在字典中加入多个内容。
|
|
然后发送请求
response=requests.post(url,files=files)