zoukankan      html  css  js  c++  java
  • python接口自动化3-发送post及其他请求

    前言

    发过get请求相信学习post请求也很快学会,无非就是多了传参时的类型与参数格式。在我常见的post请求中用到最多的是json格式,但也有用其它,下面将介绍常用的参数类型格式。

    一、Post请求是我们常用的传参类型有:

    1json格式:”Content-Type” : “application/json”,传json

    如:{“phone”: “187xxxxxx”, “password”: valuexxxx}

    2application/x-www-form-urlencode格式,多个参数用&分开

    如:phone=187xxxxxx&password=valuexxxx,传params 或 data,注意的是接口文档是什么就传什么。

    3multipart/form-data格式,常用于上传图片等;这种后面再讲。

    二、发送post请求

    1.看了上面的图,大概知道怎样发post请求了吗?

    json格式:

    # json 格式:
    url = 'http://gsxl.boke.com/login'
    body = {
        "phone": "1877777777",
        "pwd": "123456",
    }
    
    request = requests.post(url, json=body)
    print(request.text)

    2.data格式:

    # application/x-www-form-urlencoded
    url1 = 'http://47.97.194.84:8000/api/login/'
    body1 = {
        "account": "gsxl",
        "password": "123456"
    }
    
    request1 = requests.post(url, data=body)
    print(request1.text)

    3.params 格式

    import requests
    
    s = requests.session()
    login_url = 'http://127.0.0.1/zentao/user-login.html'       # 登录url
    data = 'account=admin&password=e10adc3949ba59abbe56e057f20f883e&keepLogin%5B%5D=on&referer=http%3A%2F%2F127.0.0.1%2Fzentao%2Fdoc-browse-1-byModule-0-id_desc-doc.html'
    login_r = s.post(login_url, params=data)                         # 传 params 参数
    
    r1 = s.get('http://127.0.0.1/zentao/doc-browse-1-byModule-0-id_desc-doc.html')  # 登录访问的 html
    print(r1.content.decode('utf-8'))

    最后有可能很多小伙伴分不清什么时候传data,什么时候传json。这里告诉大家:

    我们看fiddler抓包下来的是键值对就是传json,有&符号的就传data或者params就可以了。

    欢迎来QQ交流群:482713805

  • 相关阅读:
    java实现二叉树的构建以及三种遍历
    binary-tree-preorder-traversal二叉树的前序遍历
    insertion-sort-list使用插入排序对链表进行排序
    binary-tree-postorder-traversa二叉树的后序遍历
    sort-list
    Redis的数据类型
    在Windows上搭建Redis服务器
    Eureka源码分析
    Eureka概念理解
    Spring Cloud Eureka
  • 原文地址:https://www.cnblogs.com/gsxl/p/11918185.html
Copyright © 2011-2022 走看看