You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python区分返回404与200状态码的子域名?

筛选返回404状态码的子域名

我来帮你搞定这个需求——从你的子域名列表里挑出返回404状态码的条目其实很简单,咱们一步步来实现:

核心思路

我们需要遍历每个子域名,发送HTTP请求获取它的响应状态码,然后筛选出状态码等于404的条目。为了避免请求失败导致程序崩溃,还要加上异常处理逻辑。

完整代码实现

首先确保你已经安装了requests库(用来发送HTTP请求),如果没装的话,先执行:

pip install requests

然后用下面的代码来筛选:

import requests

# 你的子域名列表(可以继续添加更多条目)
subdomains = [
    "https://teyrtguhigkfjn.s3.amazonaws.com/",
    "http://google.com",
    # 这里补充你的其他子域名
]

# 存储筛选出的404子域名
found_404 = []

for domain in subdomains:
    try:
        # 用HEAD请求更高效,只获取响应头不下载内容
        resp = requests.head(domain, timeout=5)
        if resp.status_code == 404:
            found_404.append(domain)
    except requests.exceptions.RequestException as err:
        # 捕获请求异常,比如超时、域名不存在等
        print(f"处理 {domain} 时出错: {err}")

# 输出结果
print("\n返回404状态码的子域名:")
for item in found_404:
    print(item)

一些优化说明

  • 为什么用HEAD请求?因为我们只需要状态码,HEAD请求不需要下载响应体,速度更快,也能节省带宽资源。
  • 如果遇到某些服务器不支持HEAD请求的情况,你可以把requests.head()换成requests.get(),同时加上stream=True来避免下载大体积的响应内容:
    resp = requests.get(domain, timeout=5, stream=True)
    
  • timeout=5是设置请求超时时间,避免某个域名卡住整个程序。

内容的提问来源于stack exchange,提问作者Utkarsh Agrawal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:05:28