美文网首页
接口自动化(三):Post请求里Content-Type与请求体

接口自动化(三):Post请求里Content-Type与请求体

作者: 最爱西红柿 | 来源:发表于2019-11-30 14:02 被阅读0次

    在接口自动化代码编写过程中,发现post里的请求参数一直报错;然后查看登录接口,请求参数是以application/x-www-form-urlencoded进行编码,但是传入的值却为json类型。

    1、理清Post请求与消息体的关系

    Post请求相对get来说,有多种编码方式,但参数一定是在请求体里。Content-Type的作用是,告诉服务器请求体编码方式是什么,按照它给的标准解析数据就行了。

    2、Content-Type主要分类

        2.1 application/x-www-form-urlencoded

        以form表单形式提交数据,数据按照 key1=val1&key2=val2 的方式进行编码。

        requests库里,post方法参数data与json默认都为None,结合form表单data可能的值(字典、元祖或列  表),最后传参为data且类型是字典

       res = requests.post(url,data=data,header=None)

    *图片

      2.2 text/xml

        它是一种使用 HTTP 作为传输协议,XML 作为编码方式的远程调用规范

        2.3 application/json

        以json串提交数据;同理,这里传参为json,涉及到json转字典

       json格式: data='{"key1":"vaule1","key2":"value2"}'

        json.dumps(data)

         res = requests.post(url,data= json.loads(data),header=None)或

        res = requests.post(url,json=data,header=None)

        2.4 multipart/form-data

        以multipart形式上传文件

        fp = open (filename,"rb")

         res = requests.post(url,files = fp,header=None)

    相关文章

      网友评论

          本文标题:接口自动化(三):Post请求里Content-Type与请求体

          本文链接:https://www.haomeiwen.com/subject/nwzwwctx.html