Python之requests入门

本文详细介绍Python的Requests库使用方法,包括安装、发送GET/POST请求、处理请求参数、添加请求头及解析响应内容等,适合Python初学者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在学习Python相关的框架花了点时间,早期在python+Selenium+Unittest+HTMLTestRunner(UI自动化这块花了些时间实践了一下)做到后期,个人觉得意义不太大,从根本上没有为我自己个人节约人力成本,反而感觉时间耗费越来越多,起因在于前端UI真的很善变。

在接口自动化这块,之前都是基于工具去做,最近想利于空余时间去学习实践做起来,基于python语言的话,我前期选择了python+requests+Unittest+HTMLTestRunner这个方向,学习目前只做了前半部分requests,花了些时间去了解requests模块。这篇文章主要针对requests,讲真,相信你看完后,会对自己有所帮助。

 

requests安装方式

1、pip安装  pip install request

2、基于pycharm解释器的添加安装,自行动手百度(我个人是直接通过这种方式安装)

 

requests实践(发送get请求)

基于模块安装成功之后,我们直接进行调用,我们来看看如何发送get请求

    源码实例    
    #-*-coding:utf-8-*-
    #author:shichao
    import requests

    #请求某接口地址;客户端发送请求到服务端
    r=requests.get("https://api.github.com")
    #以上请求r是response对象,依据r可以查看服务端返回的接口信息
            (headers/状态码等)

这样呢。就是用requests模块的get方法成功进行请求"https://api.github.com"这个网址,并把返回的结果存储在r这个变量中。接着就可以通过r变量来获取具体的响应内容了。

 

requests实践(打印请求响应内容)

例如通过status_code获取响应状态码,通过headers获取返回的响应头信息。进入源码

#-*-coding:utf-8-*-
#author:shichao
import requests

#请求某接口地址;客户端发送请求到服务端
r=requests.post("https://httpbin.org/post")
#以上请求r是response对象,依据r可以查看服务端返回的接口信息(headers/状态码等)

print('HTTP协议返回的状态码: \n{0}'.format(r.status_code))
print('HTTP返回的Headers信息: \n{0}'.format(r.headers))
print('HTTP返回的cookies信息: \n{0}'.format(r.cookies))
print("HTTP返回的响应数据: \n{0}".format(r.text))

 

requests实践(入参)

上面是没有带参形式,如果带参形式呢,我们如何请求呢?继续,脚步不能停,咱往下看,例举某接口实例。

#-*-coding=utf-8-*-
#authou:shichao

import requests

r=requests.get(url="https://cart.taobao.com/trail_mini_cart.htm",
               params={'callback':'MiniCart.setData','t':'1526048972328'})
#发送get请求时,url为请求的地址;在params中指定请求的入参参数
print('请求的URL: \n{0}'.format(r.url))
    打印内容

    F:\python3\python_code\venv\Scripts\python.exe

    F:/python3/python_code/Study/api_autotest/get_URL

    参数实例.py

    请求的URL: 

    https://cart.taobao.com/trail_mini_cart.htm?

    callback=MiniCart.setData&t=1526048972328



    Process finished with exit code 0

    我们可以看到打印的URL后面拼接我们入参的参数

 

requests实践(添加请求头)

接口测试中请求头是必不可少的,请求头的添加方式也跟参数一致在



#-*-coding=utf-8-*-
#author:shichao

import  requests

r = requests.get(url='https://cart.taobao.com/trail_mini_cart.htm',
                 params={'callback':'MiniCart.setData','t':'1526048972328'},
                 headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',
                        'Content-Type':'application/json',
                        'referer':'https://shoucang.taobao.com/shop_collect_list.htm?spm=a21bo.2017.1997525053.3.5af911d9sYX701'
                  }
                 )

print('响应内容: \n{0}'.format(r.text))

}

    )



print('响应内容:\n{0}'.format(r.text))



requests实践(发送Post请求)


    源码实例

    #-*-coding:utf-8-*-

    #author:shichao
    import requests

    #请求某接口地址;客户端发送请求到服务端
    r=requests.post("https://httpbin.org/post")

    #以上请求r是response对象,依据r可以查看服务端返回的接口

    信息(headers/状态码等)

    print('HTTP协议返回的状态码:\n{0}'.format(r.statu

    s_code))

    print('HTTP返回的Headers信息:\n{0}'.format(r.he

    aders))

    print('HTTP返回的cookies信息:\n{0}'.format(r.coo

    kies))

    print("HTTP返回的响应数据:\n{0}".format(r.text))

其它形式与GET同理。以上就是requests入门初始,相信有点python基础功底的都觉得很简单,没错很多事情就是自己想着难,自己一步一步的实践做起来,并没有那么可怕,重要的是要跨出那一步,并一直坚持学习下去,分享就到这里,希望对你有所帮助,分享到你的朋友圈让你们的朋友跟你一起学习

 

专注软件测试行业前景分析;功能/接口自动化/python技术娱乐圈好文分享 识别上方二维码,关注后台回复"测试""Python""postman"领取系统资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值