Python+Requests模拟发送GET请求

这篇具有很好参考价值的文章主要介绍了Python+Requests模拟发送GET请求。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

模拟发送GET请求

前置条件:导入requests库

一、发送不带参数的get请求

代码如下:

以百度首页为例

import requests

# 发送get请求
response = requests.get(url="http://www.baidu.com")
print(response.content.decode("utf-8"))  # 以utf-8的编码输出内容

二、发送带参数的get请求

发送带参数的get请求有几种方式

方式一:参数在URL中

代码如下:

以百度首页为例

import requests

# 发送带参数的get请求
# 方式一:参数在URL中
# http 协议,www.baidu.com 主机号,/s 请求地址,wd=猫 参数
host = "http://www.baidu.com/s?wd=猫"
# 因为百度服务器会对头部信息做检查所以需要添加请求头
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36'}
response = requests.get(url=host,headers=headers)
print(response.content.decode("utf-8"))

方式二:参数在字典中

代码如下:

以百度首页为例

import requests

# 方式二:参数在字典中
host = "http://www.baidu.com/s"
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36'}
data = {'wd':'金钱豹'}  # 参数在字典中
response = requests.get(url=host,headers=headers,params=data)
print(response.content.decode('utf-8'))

获取响应数据的基本信息

代码如下:

以百度首页为例

import requests

# 发送get请求
response = requests.get(url="http://www.baidu.com")
# 获取响应的基本信息
print( "状态码:", response.status_code )
print( "请求URL:",response.url )
print( "头部信息:", response.headers )
print( "cookie信息:", response.cookies )
print("字节形式信息:",response.content )
print("文本信息:",response.text)
print("编码格式:",response.encoding)

封装get请求

代码示例:

# 封装get请求
def send_get(url):
    response = requests.get(url=url)
    return response

print(send_get("https://www.jd.com/").content.decode("utf-8"))

封装main方法

代码示例:

# 封装main方法
def run_main(method,url,data=None,json_info=None):
    response = None
    if method == "GET":
        response = send_get(url,data)
    elif method == "POST":
        response = send_post(url,data,json_info)
    else:
        print("参数错误")
        response = None
    return response

print(run_main("GET","https://www.jd.com/").content.decode("utf-8"))

封装测试类

代码示例:

# 将写好的get、post、run_mian方法做成类
import requests
class run_test:
    session_obj = requests.session()
    def __init__(self,method,url,params=None,data=None,headers=None):
        self.method = method
        self.url = url
        self.params = params
        self.data = data
        self.headers = headers

    def send_get(self):
        res = run_test.session_obj.get(url=self.url,params=self.params,headers=self.headers)
        return res
    def send_post(self):
        res = run_test.session_obj.post(url=self.url,params=self.params,
                                        data=self.data,headers=self.headers)
        return res

    def run_main(self):
        if self.method == "GET":
            res = self.send_get()
        elif self.method == "POST":
            res = self.send_post()
        else:
            print("请求方式错误,请检查!")
            res = None
        return res


if __name__ == "__main__":
    method = "GET"
    url = "https://www.jd.com"
    headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"}

    test_obj = run_test(method=method,url=url,headers=headers)
    response = test_obj.run_main()
    print(response.content.decode("utf-8"))

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

python怎么get请求,Requests,python,前端,开发语言,requests,单元测试

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!!
python怎么get请求,Requests,python,前端,开发语言,requests,单元测试文章来源地址https://www.toymoban.com/news/detail-806913.html

到了这里,关于Python+Requests模拟发送GET请求的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python爬虫开发基础⑪】requests库概述(GET和POST请求)

    🚀 个人主页 :为梦而生~ 关注我一起学习吧! 💡 专栏 :python网络爬虫从基础到实战 欢迎订阅!后面的内容会越来越有意思~ 💡 往期推荐 : ⭐️前面比较重要的 基础内容 : 【Python爬虫开发基础⑥】计算机网络基础(Web和HTTP) 【Python爬虫开发基础⑦】urllib库的基本使用

    2024年02月12日
    浏览(42)
  • Socket 传情:使用 Python 发送 GET 请求

    项目 描述 RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1) Message Syntax and Routing Python 官方文档 https://docs.python.org/zh-cn/3/ 搜索引擎 Google 、Bing 项目 描述 PyCharm 2023.1 (Professional Edition) Python 3.10.6 HTTP(Hypertext Transfer Protocol) 即超文本传输协议,是一个遵循经典的 客户端-服务器 模型的协议

    2024年02月09日
    浏览(56)
  • Python+Requests模拟发送post请求

    发送post请求的基础知识dumps和loads 代码示例: 以微信开放平台举例 发送post请求 查看执行结果:  上传文件 查看执行结果  封装post请求 代码示例: 封装main方法 代码示例: 封装测试类 示例代码: 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用

    2024年02月07日
    浏览(46)
  • chrome 模拟发送POST请求和GET请求

    F12打开Console输入以下代码:

    2024年02月11日
    浏览(50)
  • (一)python发送HTTP 请求的两种方式(get和post )

    注:发送请求(包括请求行、方法类型、头、体) 常见的请求方式有get、post、put、delete            格式:requests.get() (内容: url必填; params选填:url参数字典) # ~ 无参数的get请求 # ~ 有参数的get请求 # ~ 使用params的get请求        知识扩展#  requests.post() post请求分为5种,常用

    2024年02月02日
    浏览(68)
  • Python爬虫 —— urllib库的使用(get/post请求+模拟超时/浏览器)

    爬虫简介 :网络爬虫就是按照一定规则,自动抓取互联网信息的程序或脚本,由于互联网数据的多样性和资源的有限性,根据用户需求定向抓取相关网页并分析就是爬虫要做的工作 为什么我们把它称为爬虫(Spider)嘞?互联网就像是一张大网,而每一个网页就是这张大网上

    2023年04月13日
    浏览(42)
  • 【Python爬虫】requests库get和post方法使用

    requests库是一个常用于http请求的模块,性质是和urllib,urllib2是一样的,作用就是向指定目标网站的后台服务器发起请求,并接收服务器返回的响应内容。 1. 安装requests库 使用pip install requests安装 如果再使用pip安装python模块出现timeout超时异常,可使用国内豆瓣源进行安装。

    2024年02月22日
    浏览(42)
  • requests之get请求实例-百度搜索

    视频版教程:一天掌握python爬虫【基础篇】 涵盖 requests、beautifulsoup、selenium 百度搜索请求地址: 如果我们直接用requests.get()进行访问,发现没有返回内容,因为百度服务器通过headers头信息做了反爬手段,所以我们请求的时候,要带上headers头信息;以及requests支持请求参数

    2024年02月07日
    浏览(37)
  • python3 爬虫相关学习3:response= requests.get(url)的各种属性

    目录 1  requests.get(url) 的各种属性,也就是response的各种属性 2 下面进行测试 2.1 response.text 1.2  response.content.decode() 1.2.1 response.content.decode() 或者  response.content.decode(\\\"utf-8\\\") 1.2.2   response.content.decode(\\\"GBK\\\") 报错 1.2.3 关于编码知识 1.3 response.url  1.4 response.status_code 插入知识:

    2024年02月03日
    浏览(37)
  • python 模块requests 发送 HTTP 请求

    一、简介 requests 模块是 python 基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作 二、安装 三、方法 requsts.requst(method, url,headers,cookies,proxies,timeout) method:请求方式;字符串类型 url:请求的地址;字符串类型 params:查询参数,g

    2024年02月11日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包