当前位置: 首页 > news >正文

requests库

GET请求

  • 基本实例
    import requestsresponse = requests.get('https://www.httpbin.org/get')
    print(response.text)
    
    在这里插入图片描述
  • params参数
    import requests
    data = {"name":"Bileton","age":"21"
    }
    response = requests.get('https://www.httpbin.org/get',params=data)
    print(response.text)
    
    在这里插入图片描述
  • json格式
    网页响应的类型是字符串类型的,但这里也是JSON格式的,可以直接调用json方法
    import requests
    data = {"name":"Bileton","age":"21"
    }
    response = requests.get('https://www.httpbin.org/get',params=data)
    print(response.json())
    # {'args': {'age': '21', 'name': 'Bileton'}, 'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate, br, zstd', 'Host': 'www.httpbin.org', 'User-Agent': 'python-requests/2.32.3', 'X-Amzn-Trace-Id': 'Root=1-672a4784-12ddc86a16dd0f3d4001ec86'}, 'origin': '125.45.126.225', 'url': 'https://www.httpbin.org/get?name=Bileton&age=21'}
    
  • 请求头(Request Headers)
    添加请求头信息,设置headers参数
    import requests
    data = {"name":"Bileton","age":"21"
    }
    headers = {
    "user-agent":
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0"
    }
    response = requests.get('https://www.httpbin.org/get',params=data,headers=headers)
    print(response.json())
    
    在这里插入图片描述

POST请求

  • 基本实例
    params = {"name":"Bileton","age":"21"
    }
    headers = {
    "user-agent":
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0"
    }data = {"name":"Bileton","age":"21"
    }response = requests.post('https://www.httpbin.org/post',params=params,headers=headers,data=data)
    print(response.text)
    
    {"args": {"age": "21", "name": "Bileton"}, "data": "", "files": {}, "form": {"age": "21", "name": "Bileton"}, "headers": {"Accept": "*/*", "Accept-Encoding": "gzip, deflate, br, zstd", "Content-Length": "19", "Content-Type": "application/x-www-form-urlencoded", "Host": "www.httpbin.org", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0", "X-Amzn-Trace-Id": "Root=1-672a4adb-4a7a532f3ebb47d17b9d45da"}, "json": null, "origin": "125.45.126.229", "url": "https://www.httpbin.org/post?name=Bileton&age=21"
    }
    
    form是提交的数据

Cookie

  • 获取Cookie

    url = 'http://www.baidu.com'
    response = requests.get(url)print(response.cookies)
    for ket,value in response.cookies.items():print(ket+"="+value)
    
    <RequestsCookieJar[<Cookie BAIDUID=B66399BCCEE18461B7577D4F034E25E0:FG=1 for .baidu.com/>, <Cookie BAIDUID_BFESS=B66399BCCEE18461B7577D4F034E25E0:FG=1 for .baidu.com/>, <Cookie BIDUPSID=B66399BCCEE18461B7577D4F034E25E0 for .baidu.com/>, <Cookie H_PS_PSSID=61004_61027_61035_61078 for .baidu.com/>, <Cookie PSTM=1730825523 for .baidu.com/>, <Cookie BDSVRTM=6 for www.baidu.com/>, <Cookie BD_HOME=1 for www.baidu.com/>]>
    BAIDUID=B66399BCCEE18461B7577D4F034E25E0:FG=1
    BAIDUID_BFESS=B66399BCCEE18461B7577D4F034E25E0:FG=1
    BIDUPSID=B66399BCCEE18461B7577D4F034E25E0
    H_PS_PSSID=61004_61027_61035_61078
    PSTM=1730825523
    BDSVRTM=6
    BD_HOME=1
    
  • 维持登录状态
    Cookie
    登录github,把请求头中的Cookie内容复制下来
    在这里插入图片描述
    然后把Cookie内容取出放到请求头里

    url = 'https://github.com/'headers = {"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36","Cookie":"_octo=GH1.1.1248862582.1728219778; _device_id=64df60ce376c117249233fa8cfeadec3; saved_user_sessions=184353984%3A0OccUYxxcXaTR-83X8DhQWyUdrI5fjj7uqY0ELmpfxJ_PtQL; user_session=0OccUYxxcXaTR-83X8DhQWyUdrI5fjj7uqY0ELmpfxJ_PtQL; __Host-user_session_same_site=0OccUYxxcXaTR-83X8DhQWyUdrI5fjj7uqY0ELmpfxJ_PtQL; logged_in=yes; dotcom_user=Bileton; color_mode=%7B%22color_modEgGDB9310wz%2FQ2D9UrGflA%3D%3D"
    }
    response = requests.get(url,headers=headers)
    print(response.text)
    
  • SSL证书验证
    访问https://ssr2.scrape.center/,会出现“您的连接不是私密连接”
    在这里插入图片描述
    如果直接使用requests请求这个网站,会出现SSLError的错误。
    我们可以通过设置verify参数来控制是否验证证书,它的默认值是true。

    url = "https://ssr2.scrape.center/"
    response = requests.get(url,verify=False)
    print(response.status_code) # 200
    
  • 身份认证
    访问https://ssr3.scrape.center/,会有认证窗口
    在这里插入图片描述
    requests库自带有身份认证功能,通过auth参数即可设置。

    url = "https://ssr3.scrape.center/"
    response = requests.get(url,auth=('admin','admin'))
    print(response.status_code) # 200
    
http://www.lryc.cn/news/478568.html

相关文章:

  • 大数据之多级缓存方案
  • QCon演讲实录|徐广治:边缘云原生操作系统的设计与思考
  • web第二次作业
  • 大模型技术讲解:大模型参数微调(大模型微调)
  • 测试自动化如何和业务流程结合?
  • Python进阶之IO操作
  • ubuntu如何卸载colmap
  • 【comfyui教程】ComfyUI即将迎来全新界面:升级体验就在11月15日
  • Leecode热题100-104.二叉树的最大深度
  • 深度学习中的 Dropout:原理、公式与实现解析
  • 【大数据学习 | HBASE】habse的表结构
  • 完成程序《大奖赛评分B》
  • K8S篇(基本介绍)
  • linux alsa-lib snd_pcm_open函数源码分析(三)
  • 基于ssm的个人健康管理系统
  • Debian下载ISO镜像的方法
  • 大厂面试真题-简单说说线程池接到新任务之后的操作流程
  • 「Mac畅玩鸿蒙与硬件23」鸿蒙UI组件篇13 - 自定义组件的创建与使用
  • C++关键字:mutable
  • Agent 智能体开发框架选型指南
  • 基于Zynq FPGA对雷龙SD NAND的测试
  • AOSP沙盒android 11
  • 【JWT】Asp.Net Core中JWT刷新Token解决方案
  • AJ-Report:一款开源且非常强大的数据可视化大屏和报表工具
  • stm32不小心把SWD和JTAG都给关了,程序下载不进去,怎么办?
  • 【UE5】在材质中实现球形法线技术,常用于改善植物等表面的渲染效果
  • 【MATLAB源码-第210期】基于matlab的OFDM电力线系统仿真,不同梳状导频间隔对比。三种信道估计,三种插值误码率对比
  • 基于SpringBoot的城镇保障性住房管理策略
  • 支持高性能结构化数据提取的 Embedding 模型——NuExtract-v1.5
  • 【C#】设计一个选购计算机配置的应用程序