• 技术文章 >Python技术 >Python基础教程

    python程序如何实现接口封装、请求、调用?

    2020-10-28 17:19:35原创6959
    百分之99的项目,都需要分解成各个层面,交于不同的程序员设计,当所有程序设计完成吗,要组合在一起时候,要如何操作呢?请看下文哦~

    简介:

    关于接口请求和封装,最常用的是GET和POST两种方法。

    接口文档需要包含信息:接口名称、接口功能、接口地址、支持格式、请求方式、请求示例、请求参数、返回参数说明。

    以典型的(一两个)参数做为判断是否请求通过。

    GET请求

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    import requests

    import json

      

    url = "http://v.juhe.cn/laohuangli/d"

    para = {"key":"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","date":"2017-3-22"}

    header ={}

      

    r = requests.get(url,params=para,headers= header,)

    #verify=True适用于服务端的ssl证书验证,verify=False为关闭ssl验证

    print('get请求获取的响应结果json类型',r.text)

    print("get请求获取响应状态码",r.status_code)

    print("get请求获取响应头",r.headers['Content-Type'])

    #响应的json数据转换为可被python识别的数据类型

    json_r = r.json()

    print(json_r)

    POST请求

    post请求有两种常用的请求格式:

    1、key-value的格式'Content-Type':'application/x-www-form-urlencoded'

    2、标准json的格式:'Content-Type':'application/json'

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    #key-value

    import requests

    import json

      

    url = "http://v.juhe.cn/laohuangli/d"

    para = {"key":"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","date":"2017-3-22"}

    header ={}

      

    r = requests.post(url,data=para,headers= header)

      

    print('get请求获取的响应结果json类型',r.text)

    print("get请求获取响应状态码",r.status_code)

    print("get请求获取响应头",r.headers['Content-Type'])

      

    #响应的json数据转换为可被python识别的数据类型

    json_r = r.json()

    print(json_r)

    #json

    import requests

    import json

      

    url = "http://v.juhe.cn/laohuangli/d"

    para = {"key":"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","date":"2017-3-22"}

    header ={}

    #python数据类型转换为json类型(json.dumps())

    para = json.dumps(para)

    r = requests.post(url,data=para,headers= header)

      

    print('get请求获取的响应结果json类型',r.text)

    print("get请求获取响应状态码",r.status_code)

    print("get请求获取响应头",r.headers['Content-Type'])

      

    #响应的json数据转换为可被python识别的数据类型

    json_r = r.json()

    print(json_r)

    把所有的请求封装在函数中

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    def get(url,para,headers):

        try:

            r = requests.get(url,params=para,headers=headers)

            print("获取返回的状态码",r.status_code)

            json_r = r.json()

            print("json类型转化成python数据类型",json_r)

        except BaseException as e:

            print("请求失败!",str(e))

    def post(url,para,headers):

        try:

            r = requests.post(url,data=para,headers=headers)

            print("获取返回的状态码",r.status_code)

            json_r = r.json()

            print("json类型转化成python数据类型",json_r)

        except BaseException as e:

            print("请求失败!",str(e))

    def post_json(url,para,headers):

        try:

            data = para

            data = json.dumps(data)   #python数据类型转化为json数据类型

            r = requests.post(url,data=data,headers=headers)

            print("获取返回的状态码",r.status_code)

            json_r = r.json()

            print("json转换为python数据类型:",json_r)

        except BaseException as e:

            print("请求失败!",str(e))

      

    url = "http://v.juhe.cn/laohuangli/d"

    para = {"key":"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","date":"2017-3-22"}

    headers ={}

      

    get(url,para,headers)

    post(url,para,headers)

    post_json(url,para,headers)

    好了,以上内容小伙伴们可以消化学习下啦~如果大家还想了解更多python实用知识,点击进入PyThon学习网教学中心

    专题推荐:python程序实现接口封装调用
    上一篇:如何用Python把pdf转换成word 下一篇:Python中怎样把html网页转换成pdf

    相关文章推荐

    • python如何合并列表?怎么做?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网