getpost
Posted peng1206
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了getpost相关的知识,希望对你有一定的参考价值。
1、get请求
get请求会把参数放在url后面,中间用?隔开,也可以把参数放在请求body中,如果参数中有中文,http传的时候requests框架会将中文换成urlencode编码
2、get和post请求回来的response中的data数据可以用r.text查看返回text文本,是srting类型,用r.json()解析会变成字典类型
r.status.code #响应状态码,r.content #字节方式响应体,会自动为你解码gzip和defalte压缩,r.headers # 以字典存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在就返回None,r.json() #Requests中内置的JSON解码器,json转成python的字典,r.url #获取url,r.encoding #编码格式 ,r.cookies #获取返回的cookie, r.text #字符串方式的响应体,会自动根据响应头部的字符编码进行解码,r.content.decode("utf-8") #解决html返回乱码问题, r.raise_for_status() #失败请求(非200响应)抛出异常
3、https的请求相对于http安全级别高,需要ssl证书,import urllib3 #使用这个方法就可以了,urllib3.disable_warnings() #忽略警告,如果将verify设置为false,requests也能忽略ssl证书的验证,默认情况下verify设置是ture的,有时候fidder也会影响宝ssl问题,关闭fidder,调式的时候,可以加个参数verify=false,不想看到警告就用urllib3.disable_warnings()!
4、post请求参数常见的有四种,第一种:application/json {"key": value} json=,第二种:applicatio/x-www-from-urlencoded name1=value1&name2=value2 data=,第三种:multipart/from-data:这是一种表单格式的(文件上传file=,图片上传等混合模式)data=,第四种:Content-Type:octets/stream(文件上传) data=
以上是关于getpost的主要内容,如果未能解决你的问题,请参考以下文章