【核心技术要点】
- HTTP请求处理:使用Python的
requests库发送GET请求 - 响应解析:解析JSON格式的响应数据
- 日志记录:使用Python的
logging模块记录请求和响应信息 - 输入验证机制:验证参数类型和长度
- 响应处理逻辑:解析JSON数据并验证响应内容
【项目说明】
本项目实现了一个简单的网络通信项目,用于验证API请求的正确性并记录日志信息。项目依赖本地环境运行,代码独立可运行,无需依赖第三方库。
【代码实现】
import requests
import logging
# 设置日志级别
logging.basicConfig(level=logging.INFO)
def main():
# 输入验证
try:
api_url = input("请输入API地址(例如:http://example.com/data):")
name = input("请输入参数名(如:name):")
age = input("请输入参数值(如:15):")
# 参数类型验证
if not isinstance(name, str) or len(name) == 0:
logging.warning("参数类型或长度验证失败:{}".format(name))
return
if not isinstance(age, int) or (len(str(age)) != 1):
logging.warning("参数类型或长度验证失败:{}".format(age))
return
# 发送HTTP GET请求
response = requests.get(api_url, params={'name': name, 'age': age})
# 响应解析
logging.info(f"请求成功,参数:{name}, {age}")
data = response.json()
if data.get('status') == 'success':
logging.info(f"响应内容:{data}")
else:
logging.error(f"请求失败,状态:{data.get('status')}")
# 输出结果
print("响应内容:")
print(data)
except requests.RequestException as e:
logging.error(f"请求失败:{e}")
print("请求失败,错误信息:")
print(e)
if __name__ == "__main__":
main()
【总结】
本项目实现了对网络通信项目的完整功能,包括HTTP请求处理、参数验证、响应解析和日志记录。通过输入验证机制,确保了API请求的合法性,响应内容解析逻辑正确,日志记录功能清晰记录了请求和响应信息。代码可依赖本地环境运行,无需依赖第三方库,具有良好的可运行性和可扩展性。