背景介绍
网络请求是现代Web开发中的核心功能,用于从服务器获取数据并展示结果。这一过程涉及HTTP请求的发送、响应解析以及结果的呈现。本项目要求开发者实现一个能够独立运行的网络请求程序,支持HTML和JSON输出,因此需要掌握HTTP请求的核心知识及响应处理逻辑。
思路分析
- 请求方式
- 请求类型需支持GET/POST,根据输入URL判断是否为数据请求。
- 对于HTML响应,使用
BeautifulSoup解析HTML;对于JSON,直接输出JSON字符串。
- 响应处理
- 若响应为HTML,直接打印HTML标签;若为JSON,使用
json.dumps()输出JSON数据。 - 输出时需考虑格式化(如换行、换页),确保响应符合预期。
- 若响应为HTML,直接打印HTML标签;若为JSON,使用
- 独立运行
- 无需依赖外部服务,可直接运行本地环境(如使用本地服务器或本地模拟)。
代码实现
import requests
def network_request(url):
try:
response = requests.get(url)
print("Response Status:", response.status_code)
if response.status_code == 200:
print("HTML Response:")
html_content = response.text
print(html_content)
elif response.status_code == 200:
print("JSON Response:")
json_data = response.json()
print(json_data)
else:
print(f"Error: {response.status_code} - {response.text}")
except requests.exceptions.RequestException as e:
print(f"Error: {e}")
示例输出
输入:`https://api.example.com/data`
- HTML输出:
<h1>Welcome to Example API</h1> -
JSON输出:
{"status": "success", "data": "Recent news"}
总结
本程序通过Python的requests库实现网络请求功能,支持独立运行,并能根据响应数据输出HTML或JSON格式结果。该实现展示了HTTP请求的发送、响应解析及结果展示的核心知识,同时强调了学习网络请求的基础能力。任务难度适中,1~3天内可完成,适用于中级开发者。
# 示例代码运行说明
# 确保已正确安装requests库(pip install requests)
# 执行代码后,输出结果如示例所示。