zoukankan      html  css  js  c++  java
  • python接口自动化之发送post(四)

     1、ssl问题

    目前很多的请求使用的都是较为安全的https请求,https请求相对于http安全级别更高,需要验证ssl证书

    写代码的时候有两种可以忽略ssl验证的方法

    (1)import urllib3

        urllib3.disable_warnings()   # 忽略警告

    (2)在请求的时候设置verify=False  #忽略验证

        requests.get(url, verify=False)
    2、post请求参数(常见的有四种,不止四种)

    (1)Content-Type:application/json

    直接传json=

    # -*- coding:utf-8 -*- 
    
    import requests
    
    host = 'xxxx'
    login_url = 'xxxxx'
    
    a = {
        "username": "test",
        "password": "123456"
    }
    # application/json  直接传json=
    r = requests.post(url=host+login_url, json=a)
    print(r.text)
    
    """
        json= 是新版本加的功能
        旧版本的方法是直接使用json对参数进行编码:
            import json
            a1 = json.dumps(a)
            requests.post(url, data=a1)
    """
    

    (2)Content-Type:application/x-www-form-urlencode

    直接data=

    # -*- coding:utf-8 -*- 
    
    import requests
    
    host = 'xxxxx'
    login_url = 'xxxxx'
    
    # application/x-www-form-urlencode 
    # 参数username=test&password=123456
    a = {
        "username": "test",
        "password": "123456"
    }
    #  直接传data=
    r = requests.post(url=host+login_url, data=a)
    print(r.text)
    

    (3)xml格式的请求:Content-Type:text/xml

    # -*- coding:utf-8 -*- 
    
    import requests
    # xml格式请求
    url = "http://www.example.com/"
    body = '''
    <?xml version=“1.0” encoding = “UTF-8”?>
    <COM>
    <REQ name="上海-悠悠">
    <USER_ID>yoyoketang</USER_ID>
    <COMMODITY_ID>123456</COMMODITY_ID>
    <SESSION_ID>absbnmasbnfmasbm1213</SESSION_ID>
    </REQ>
    </COM>
    '''
    # 遇到编码报错时候,对body进行encode
    r = requests.post(url, data=body.encode("utf-8"))
    
    print(r.text)

    3、data和json的区别

    (1)抓包看头部Content-Type参数:

    Content-Type:application/json     这种就是传json参数

    Content-Type:application/x-www-form-urlencode    这种就是传data参数  

    (2)直接看格式

    {“name”:“xxxxx”,“password”:“xxxxx”}    这种传json

    name1=value1&name2=value2     这种传data参数

  • 相关阅读:
    matplotlib 画图
    Mac anzhuangxgboost
    scala _ parameter
    cv 验证
    groupie
    pandas map, apply, applymap区别
    画图
    xgboost dmatrix中的 weight的重要性
    自然语言处理的训练范式
    java-处理大容量文本文件,行内分格符为TAB的方法
  • 原文地址:https://www.cnblogs.com/wulixia/p/12102180.html
Copyright © 2011-2022 走看看