常见的post传递参数的类型有以下两种:

第一种:application/x-www-form-urlencoded,浏览器原生的form表单,格式如下:input1=xxx&input2=ooo

第二种:application/json ,这是常见的json格式,格式如下:{"input1":"xxx","input2":"ooo","remember":false}

1、以表单形式传递参数

只需简单的传递一个字典给data关键字,在发送请求的时候,会自动编码为表单的形式

param1={'username':'test','password':'123456'}
r1=requests.post('http://host/login',data=param1)
print(r1.text)
print(r1.status_code) 结果:
{"id":413,"username":"test","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InRlc3QiLCJpZCI6NDEzLCJpYXQiOjE1MDczODI1MDYsImV4cCI6MTU5Mzc4MjUwNn0.Qdexnx_x4_Vm5Mw7fPgKCUoKto4ujtLc9NTtk7hxOsE"}
200

2、以json格式传递参数:

想要在post请求中使用data关键字来传递json格式的字符串,首先得把dict转为string

import requests
import json url='http://www.tuling123.com/openapi/api' data={'key':'4b6ce82fbe554a11b99dabfa3a4ae6d9','info':'我的城市在北京,请你记住','userid':'jxn'}
print(type(data))
json_data=json.dumps(data)
print(type(json_data)) r=requests.post(url,data=json_data)
print(r.text)
print(type(r.text)) 结果:
<class 'dict'>
<class 'str'>
{"code":100000,"text":"你不是说你不喜欢我么?"}
<class 'str'>

除了可以对dict编码后以string的方式传递参数外,还可以直接使用json关键字直接传递

import requests
import json url='http://www.tuling123.com/openapi/api' json_data={"key":"4b6ce82fbe554a11b99dabfa3a4ae6d9","info":"beijing","userid":"jxn"}
r=requests.post(url,json=json_data)
print(r.text) 结果:{"code":100000,"text":"北京"}

Python接口自动化基础---post请求的更多相关文章

  1. Python接口自动化基础---get请求

    1.没有参数的get请求 import requests r=requests.get('http://docs.python-requests.org/zh_CN/latest/user/quick ...

  2. python接口自动化(delete请求)

    python接口自动化(delete请求) 一.delete请求的目的:删除资源 二.应用 导包:import requests 调用delete方法:requests.delete(url) 获取响 ...

  3. python接口自动化(put请求)

    python接口自动化(put请求) 一.put请求的作用:更新资源 二.应用 导包:import requests 调用requests.put()方法 参数有URL.data.headers,方法 ...

  4. python接口自动化(post请求)

    python接口自动化(post请求) 一.post请求的作用:新增资源 二.data格式的参数请求(data是字典对象) #1.导包 import requests #2.调用post方法 #请求的 ...

  5. python接口自动化(get请求)

    python接口自动化(get请求) get请求的目的:查询资源 一.导包 二.请求的URL 三.请求的参数 四.获取请求的URL 五.获取响应的状态码 六.获取响应的本文信息 #导包 import ...

  6. python接口自动化发送get请求 详解(一)

    前言:接口自动化实现自动化脚本比较稳定,主要用到requests模块,后面我会把这个模块单独拉出来写一下. 一.环境安装 1.用pip安装requests模块 >>pip install ...

  7. 【python接口自动化】01-requests请求

    requests是模拟HTTP.https请求接口. 一.HTTP协议介绍 1.1HTTP协议特点 1.2HTTP协议组成 请求方法 主要的请求方法有:GET.POST.DELETE .PUT .HE ...

  8. Python接口自动化基础---token鉴权

    有些登录使用cookie,有些登录需要token验证,token传参一般有两种形式,一种是在请求头中,一种是使用URL传参 这里举例说明一下请求头中的token方式: #登录 param1={'use ...

  9. Python接口自动化基础---环境准备

    安装requests模块 pip install requests request帮助文档查看 import requests print(help(requests)) Help on packag ...

随机推荐

  1. 清理系统图标缓存数据库-解决windows图标异常

    1.删除C:\Users\用户名\AppData\Local\IconCache.db文件,重建图标缓存 . 一键脚本 taskkill /f /im explorer.exe echo 清理系统图标 ...

  2. 重新学习MySQL数据库12:从实践sql语句优化开始

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/a724888/article/details/79394168 本文不堆叠网上海量的sql优化技巧或 ...

  3. LOL佐伊官方手办

      花199元在某宝上买的官方正版佐伊手办终于到了,话不多说直接上图!   虽然脸有点不切实际的大,但还是很可爱~

  4. 实验与作业(Python)-03 Python程序实例解析(函数、循环、range、turtle)

    截止日期: 要求: 下周实验课前上交,做好后在实验课上检查可获取平时分. 做出进阶或选做的的请用清晰的标致标识出来,方便老师批改 本次作业:可提交也可不提交.作业算平时成绩. 本次作业内容量较大,请组 ...

  5. Linux下打开超大文件的方法

    Linux下打开超大文件方法 在Linux下用VIM打开大小几个G.甚至几十个G的文件时,是非常慢的. 这时,我们可以利用下面的方法分割文件,然后再打开. 1 查看文件的前多少行 head -1000 ...

  6. 文件数据库sqlite3 C++ 线程安全和并发

    转载:https://www.cnblogs.com/feng9exe/p/10682567.html(线程安全和并发) 转载:https://juejin.im/post/5b7d8522e51d4 ...

  7. python的super深入了解(转)

    1.python的继承以及调用父类成员 python子类调用父类成员有2种方法,分别是普通方法和super方法 假设Base是基类 class Base(object): def __init__(s ...

  8. Redis和Memcached的异同

    Memcached 可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS: 只支持简单的key/value数据结构,不像Redis可以支持丰富的数据类型. 无法进行持久化,数据不能备份,只能用于缓 ...

  9. windows系统下同时安装mysql5.5和8.0.11

    前提:电脑已安装5.5,增安装8.0.11 zip版本 1.官网下载mysql10.8.0.11 —找到mysql community server 为下载页面URL:https://dev.mysq ...

  10. [LeetCode] 535. Encode and Decode TinyURL 编码和解码短网址

    Note: This is a companion problem to the System Design problem: Design TinyURL. TinyURL is a URL sho ...