美文网首页Python
Python-自己动手优化接口HTTP报文信息打印

Python-自己动手优化接口HTTP报文信息打印

作者: testerzhang | 来源:发表于2020-06-20 17:16 被阅读0次

    本文转自我的头条号testerzhang,喜欢本文的伙伴们,也可以关注我在今日头条的头条号testerzhang

    前言

    我们知道Python发送网络HTTP请求非常简单,只需要调用requests库,即可完成一个HTTP请求,但是它自身打印出来的结果还是不太友好。

    我们可以在此基础上,打印一些常用的HTTP报文信息,方便我们自己熟悉接口的完整交互。

    Python-自己动手优化接口HTTP报文信息打印

    GET请求例子

    import json
    from urllib.parse import urlencode
    import requests
    
    # 格式化json
    def format_json(json_data):
        if isinstance(json_data, dict):
            return json.dumps(json_data, indent=4).encode('utf-8').decode('unicode_escape')
        else:
            return json.dumps(json.loads(json_data), indent=4).encode('utf-8').decode('unicode_escape')
    
    # resp_type: 响应的类型是json串,还是非json串
    # show_respbody: 是否打印响应的Body正文
    def get_request(url, headers, params, resp_type=None, show_respbody=True):
        print("\n1.请求URL:")
    
        if len(params) == 0:
            print("%s" % (url))
        else:
            print("%s?%s" % (url, urlencode(params)))
    
        print("\n2.请求方式:")
        print("GET")
        print("\n3.请求headers:")
        print("%s" % (headers))
    
        try:
            r = requests.get(url, headers=headers, params=params)
    
            r_status = r.status_code
            r_body = r.text
        except Exception as e:
            print("\n4.请求异常:")
            print("{}".format(str(e)))
            return 500, None
    
        print("\n4.响应状态码:")
        print("%s" % (r_status))
    
        print("\n5.响应结果:")
    
        if show_respbody:
            if resp_type == "json":
                r_body = format_json(r_body)
                print("%s" % (r_body))
            else:
                if '{"' in r_body:
                    r_body = format_json(r_body)
                    print("%s" % (r_body))
                else:
                    print("%s" % (r_body))
        else:
            print("配置不显示响应信息")
    
        return r_status, r_body
    

    打印HTTP报文信息

    1.请求URL:
    http://10.10.10.10:8083/query/template?token=123
    
    2.请求方式:
    GET
    
    3.请求headers:
    {'Content-Type': 'text/plain;charset=UTF-8'}
    
    4.响应状态码:
    200
    
    5.响应结果:
    {
        "returnCode": "000000",
        "description": "请求成功"
    }
    

    结束

    当你想了解接口是否符合规范,通过上面的小小例子,这样是不是更加直观了。

    如果喜欢本文的话,请关注+收藏,谢谢。

    Python-自己动手优化接口HTTP报文信息打印

    本文转自我的头条号testerzhang,喜欢本文的伙伴们,也可以关注我在今日头条的头条号testerzhang

    相关文章

      网友评论

        本文标题:Python-自己动手优化接口HTTP报文信息打印

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