python接口自动化(post请求)

python接口自动化(post请求)

一、post请求的作用:新增资源

二、data格式的参数请求(data是字典对象)

#1.导包
import requests
#2.调用post方法
#请求的URL
url=‘https://www.******/pc/member/sign‘
#请求头
headers={‘content-type‘:‘application/x-www-form-urlencoded‘}
#请求的参数
data={‘flag‘: ‘mobile‘,
      ‘password‘: ‘e9f5c5240c0bb39488e6dbfbdb1517e0‘,
      ‘mobile_phone‘:‘ 136*******‘}

r=requests.post(url,data=data,headers=headers)
#3.获取响应对象
print(r.text)#文本格式
print(r.json())#json格式
#4.获取响应状态码
print(r.status_code)
#5.请求的URL
print(r.url)

三、json格式的参数请求(json是json字符串)

1.导包
import requests
#2.调用post方法
#请求的URL
url=‘https://www.*********.top/pc/member/sign‘
#请求头
headers={‘content-type‘:‘application/x-www-form-urlencoded‘}
#请求的参数
json={
    "data":[{‘flag‘: ‘mobile‘,
      ‘password‘: ‘e9f5c5240c0bb39488e6dbfbdb1517e0‘,
      ‘mobile_phone‘:‘ ********‘}]
}

r=requests.post(url,json=json,headers=headers)
#3.获取响应对象
print(r.text)#文本格式
print(r.json())#json格式
#4.获取响应状态码
print(r.status_code)
#5.请求的URL
print(r.url)

四、讲data格式的请求参数转换成json格式的参数

  1. 导入json包
  2. 利用json.dumps(data对象)将data格式转换成json格式
#实例-将data格式的参数转换成json格式
#1.导包
import requests
import json
#2.调用post方法
#请求的URL
url=‘https://www.********.top/pc/member/sign‘
#请求头
headers={‘content-type‘:‘application/x-www-form-urlencoded‘}
#请求的参数
data={‘flag‘: ‘mobile‘,
      ‘password‘: ‘e9f5c5240c0bb39488e6dbfbdb1517e0‘,
      ‘mobile_phone‘:‘ *******‘}
#利用json.dumps(字典对象)来将data格式转换成json格式
r=requests.post(url,data=json.dumps(data),headers=headers)
#3.获取响应对象
print(r.text)#文本格式
print(r.json())#json格式
#4.获取响应状态码
print(r.status_code)
#5.请求的URL
print(r.url)

五、响应数据json()格式和text格式的区别

  1. json()格式返回字典类型,可以通过键名的方式来获取响应的值
  2. text格式返回的是字符串类型,无法通过键名的方式来获取响应的值
  3. json()格式通过键名获取响应值的方式是:json()[‘’键名‘]
# 通过键名的方式来获取响应中的值
#1.导包
import requests
import json
#2.调用post方法
#请求的URL
url=‘https://www.*********.top/pc/member/sign‘
#请求头
headers={‘content-type‘:‘application/x-www-form-urlencoded‘}
#请求的参数
data={‘flag‘: ‘mobile‘,
      ‘password‘: ‘e9f5c5240c0bb39488e6dbfbdb1517e0‘,
      ‘mobile_phone‘:‘ 1********‘}
#利用json.dumps(字典对象)来将data格式转换成json格式
r=requests.post(url,data=json.dumps(data),headers=headers)
#3.获取响应对象
print(r.text)#文本格式
print(r.json())#json格式
#4.获取响应状态码
print(r.status_code)
#5.请求的URL
print(r.url)
#6.通过响应结果中json格式的键名来获取结果
print(r.json()[‘message‘])

原文地址:https://www.cnblogs.com/jingdenghuakai/p/11805013.html

时间: 2024-08-10 00:07:12

python接口自动化(post请求)的相关文章

python接口自动化9-https请求(SSL)

前言 本来最新的requests库V2.13.0是支持https请求的,但是一般写脚本时候,我们会用抓包工具fiddler,这时候会报:requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) 小编环境: python:2.7.12 requests:2.13.0 fiddler:v4.6.2.0 一.SSL问题 1.不启用fiddler,直接发htt

python接口自动化2-发送post请求

前言 发送post的请求参考例子很简单,实际遇到的情况却是很复杂的,首先第一个post请求肯定是登录了,但登录是最难处理的.登录问题解决了,后面都简单了. 一.查看官方文档 1.学习一个新的模块,其实不用去百度什么的,直接用help函数就能查看相关注释和案例内容. >>import requests >>help(requests) 2.查看python发送get和post请求的案例 >>> import requests       >>> r

python接口自动化5-Json数据处理

前言 有些post的请求参数是json格式的,这个前面第二篇post请求里面提到过,需要导入json模块处理. 一般常见的接口返回数据也是json格式的,我们在做判断时候,往往只需要提取其中几个关键的参数就行,这时候就需要json来解析返回的数据了. 一.json模块简介 1.Json简介:Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式,常用于http请求中 2.可以用help(json),查看对应的源码注释内容 Encoding basic P

python接口自动化10-token登录

前言 有些登录不是用cookie来验证的,是用token参数来判断是否登录. token传参有两种一种是放在请求头里,本质上是跟cookie是一样的,只是换个单词而已:另外一种是在url请求参数里,这种更直观. 一.登录返回token 1.如下图的这个登录,无cookies 2.但是登录成功后有返回token 二.请求头带token 1.登录成功后继续操作其它页面,发现post请求的请求头,都会带token参数 2.这种请求其实比cookie更简单,直接把登录后的token放到头部就行 三.to

python接口自动化7-参数关联

前言 我们用自动化发帖之后,要想接着对这篇帖子操作,那就需要用参数关联了,发帖之后会有一个帖子的id,获取到这个id,继续操作传这个帖子id就可以了 一.删除草稿箱 1.我们前面讲过登录后保存草稿箱,那可以继续接着操作:删除刚才保存的草稿 2.用fiddler抓包,抓到删除帖子的请求,从抓包结果可以看出,传的json参数是postId 3.这个postId哪里来的呢?可以看上个请求url地址 4.也就是说保存草稿箱成功之后,重定向一个url地址,里面带有postId这个参数.那接下来我们提取出来

python接口自动化6-重定向(Location)

前言 某屌丝男A鼓起勇气向女神B打电话表白,女神B是个心机婊觉得屌丝男A是好人,不想直接拒绝于是设置呼叫转移给闺蜜C了,最终屌丝男A和女神闺蜜C表白成功了,这种场景其实就是重定向了. 一.重定向 1. (Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置,从地址A跳转到地址B了. 2.重定向状态码: --301 redirect: 301 代表永久性转移(Permanently Moved) --302 redirect: 302 代表暂时性转移(Temporarily M

python接口自动化3-自动发帖(session)

前言 上一篇模拟登录博客园,但这只是第一步,一般登录后,还会有其它的操作,如发帖,评论等,这时候如何保持会话呢? 一.session简介 1.查看帮助文档,贴了一部分,后面省略了 >>import requests>>help(requests.session()) class Session(SessionRedirectMixin) |  A Requests session. |   |  Provides cookie persistence, connection-poo

python接口自动化(响应对象方法)

python接口自动化(响应对象方法) 一.encoding作用 获取请求的编码(在不设置响应编码时,响应的信息默认使用的是请求的编码格式):r.encoding 设置响应的编码:r.encoding='编码格式’ 二.headers作用 获取响应的信息头:r.headers 三.URL作用 获取响应的URL:r.url 四.status_code作用 获取响应的状态码:r.status_code 五.cookise作用 获取响应的cookies信息:r.cookies(返回字典对象) 可以通过

python接口自动化8-参数化

前言 前面一篇实现了参数的关联,那种只是记流水账的完成功能,不便于维护,也没什么可读性,接下来这篇可以把每一个动作写成一个函数,这样更方便了. 参数化的思维只需记住一点:不要写死 一.登录函数 1.s参数是session的一个实例类,先放这里,方便写后面代码 2.登录函数传三个参数,s是需要调用前面的session类,所以必传,可以传个登录的url,然后payload是账号和密码 二.保存草稿 1.编辑内容的标题title和正文body_data参数化了,这样后面可以方便传不同值 2.这里返回了