news 2025/12/25 19:02:46

Python发送HTTP请求

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python发送HTTP请求

想象一下,你想要从网上获取一些信息——比如今天的天气、最新的新闻或者一张图片。这就像给网站写一封信,然后等待回信。Python就是你的贴心邮差,帮你轻松完成这个收发过程。

最简单的方式:使用urllib(Python内置)

Python自带了一个叫urllib的库,就像你手机里自带的短信应用,不需要额外安装。

importurllib.request# 发送一个简单的GET请求response=urllib.request.urlopen('https://www.example.com')print(response.read().decode('utf-8'))# 读取并解码响应内容

推荐方式:使用requests库(更简单强大)

虽然Python自带工具,但requests库就像一款智能邮件应用,让一切变得更加简单直观。

第一步:安装requests

pipinstallrequests

第二步:发送各种类型的请求

importrequests# 1. 简单的GET请求(获取信息)response=requests.get('https://api.github.com')print(f"状态码:{response.status_code}")# 200表示成功print(response.text)# 获取网页内容# 2. 带参数的GET请求(像在搜索框里输入内容)params={'key1':'value1','key2':'value2'}response=requests.get('https://httpbin.org/get',params=params)print(response.url)# 查看实际请求的URL# 3. POST请求(提交信息,像填写表单)data={'username':'user','password':'pass'}response=requests.post('https://httpbin.org/post',data=data)print(response.json())# 以JSON格式查看响应# 4. 自定义请求头(像添加特别说明)headers={'User-Agent':'My-Python-App/1.0'}response=requests.get('https://httpbin.org/user-agent',headers=headers)print(response.text)

实际应用示例:获取天气信息

importrequestsdefget_weather(city):# 使用一个免费的天气API(实际使用需要申请API密钥)api_key="你的API密钥"url=f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}"try:response=requests.get(url,timeout=5)# 5秒超时response.raise_for_status()# 如果请求失败会抛出异常weather_data=response.json()print(f"{city}的天气:{weather_data['weather'][0]['description']}")print(f"温度:{weather_data['main']['temp']}K")exceptrequests.exceptions.RequestExceptionase:print(f"获取天气信息失败:{e}")# 使用函数get_weather('Beijing')

小贴士和注意事项

  1. 超时设置:总是设置合理的超时时间,避免程序卡死

    requests.get(url,timeout=5)
  2. 错误处理:使用try-except块捕获可能的异常

    try:response=requests.get(url)response.raise_for_status()exceptrequests.exceptions.RequestExceptionase:print(f"请求出错:{e}")
  3. JSON处理:现代API大多返回JSON格式,requests可以直接解析

    data=response.json()

总结

  • 简单需求:使用Python内置的urllib
  • 大多数情况:使用requests库,它更简单、更强大
  • 记住设置超时和处理异常
  • 现代Web API大多使用JSON格式,requests可以轻松处理

现在你已经掌握了用Python发送HTTP请求的基本方法!就像学会了写电子邮件一样,你可以开始探索互联网上的各种数据和服务了。

Happy coding! 🚀

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/18 2:34:50

Python发送HTTP请求:不同请求方式与参数差别详解

想象一下,你在餐厅点菜。你可以: GET:像服务员大声报出你想要的菜(所有人都能听到)POST:像把写好的菜单悄悄递给服务员(内容不公开) 这就是HTTP请求中最常见的两种方式,让…

作者头像 李华
网站建设 2025/12/25 4:42:13

StrmAssistant完整安装指南:轻松提升Emby媒体体验

StrmAssistant完整安装指南:轻松提升Emby媒体体验 【免费下载链接】StrmAssistant Strm Assistant for Emby 项目地址: https://gitcode.com/gh_mirrors/st/StrmAssistant StrmAssistant是一款专为Emby媒体服务器设计的增强工具,通过优化视频播放…

作者头像 李华
网站建设 2025/12/18 2:33:57

Video Download Helper 高级版终极指南:完全解锁无限制下载功能

还在为在线视频下载时间限制而烦恼吗?现在,通过这款强大的视频下载插件,您可以彻底告别120分钟的限制,实现真正的无限制下载体验!本指南将为您详细介绍如何安装和使用这款功能强大的Chrome扩展。 【免费下载链接】Vide…

作者头像 李华
网站建设 2025/12/24 6:54:09

哔哩下载姬DownKyi:高效管理B站视频资源的完整教程

哔哩下载姬DownKyi:高效管理B站视频资源的完整教程 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等&#xff…

作者头像 李华
网站建设 2025/12/18 2:33:50

进程间通信--共享内存

共享内存的基本原理1. 核心步骤要在 Linux 中使用 System V 共享内存,通常遵循以下“四步走”:创建/获取 (Create/Get):向内核申请一块共享内存,就像 malloc 一样,但这是内核管理的。系统调用:shmget关联 (…

作者头像 李华
网站建设 2025/12/24 6:47:45

17、OS X 系统中的多任务处理与进程管理

OS X 系统中的多任务处理与进程管理 1. 多任务处理概述 OS X 具备强大的多任务处理能力,它能迅速地在运行的应用程序和系统进程之间分配处理器时间,让用户感觉所有任务都在同时运行。当新应用启动、进程开始,或者其他进程闲置或完全关闭时,系统会实时监控这些任务,并动态…

作者头像 李华