背景介绍
网络请求是互联网通信的核心环节,状态码(200/404/500等)是判断请求成功与否的“生命体征”。当URL无效或请求失败时,系统会返回对应的状态码,帮助开发者直观了解请求的合法性。本项目通过实现一个简单的HTTP状态码判断工具,帮助用户学习如何处理网络请求的常见状态码。
思路分析
- 需求明确:输入一个URL,输出状态码,判断请求合法性。
- 技术栈选择:项目独立运行,无需依赖外部服务或框架,因此选择使用
requests.get()方法实现。 - 核心逻辑:
- 读取用户输入的URL。
- 使用
requests.get(url)获取响应。 - 获取响应状态码,并输出结果。
代码实现
Python实现
import requests
def get_status_code(url):
try:
response = requests.get(url)
print(f"Status Code: {response.status_code}")
return response.status_code
except requests.exceptions.RequestException as e:
print("请求失败: 500")
return 500
# 示例输入
try:
url_input = input("请输入URL:https://api.example.com/data\n")
status_code = get_status_code(url_input)
print(f"请求成功(状态码: {status_code})")
except KeyboardInterrupt:
print("请求终止")
Java实现
import java.io.IOException;
import java.net.URL;
public class StatusChecker {
public static void main(String[] args) {
try {
String url = input("Enter URL: ");
URL urlObj = new URL(url);
int status = 500;
// 使用 HttpURLConnection 实现
HttpURLConnection connection = (HttpURLConnection) urlObj.openConnection();
connection.setRequestMethod("GET");
connection.setRequestCode(500); // 示例状态码常量
int statusCode = connection.getResponseCode();
System.out.println("Status Code: " + statusCode);
// 输出结果
System.out.println("请求成功(状态码: " + statusCode + ")");
} catch (IOException e) {
System.err.println("请求失败: 500");
}
}
private static String input(String prompt) {
System.out.print(prompt);
return new String(System.in.readLine().trim());
}
}
总结
本项目实现了网络请求状态码的判断功能,通过 requests.get() 方法获取响应状态码,并输出结果。代码简洁明了,无需依赖外部服务或框架,适用于独立运行的项目。掌握此类实现方法,有助于理解HTTP状态码的含义及其在实际开发中的应用。