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

如何将含多行URL的文件传入requests.get批量检测状态码

批量检测网站HTTP状态码的实现方案

完整修改代码

import argparse
import requests
from typing import List

def get_input(prompt: str) -> str:
    return input(prompt).strip()

def load_urls_from_file(file_path: str) -> List[str]:
    urls = []
    try:
        with open(file_path, 'r', encoding='utf-8') as f:
            for line in f:
                url = line.strip()
                if url:  # 跳过空白行
                    urls.append(url)
    except FileNotFoundError:
        print(f"错误:文件 {file_path} 不存在")
    except Exception as e:
        print(f"读取文件时出错:{str(e)}")
    return urls

def check_single_url(url: str) -> None:
    try:
        response = requests.get(url, headers={"Referer":"test"}, verify=False, timeout=10)
        print(f"{url} - {response.status_code} OK")
    except requests.exceptions.RequestException as e:
        print(f"{url} - 请求失败:{str(e)}")

def run(arguments):
    urls = []
    # 处理单个URL参数
    if arguments.url:
        url = arguments.url.strip()
        if url:
            urls.append(url)
    # 处理文件参数
    elif arguments.website:
        urls = load_urls_from_file(arguments.website)
    # 无参数时提示输入
    else:
        url = get_input("Enter URL : ")
        if url:
            urls.append(url)
    
    # 批量检测URL
    for url in urls:
        check_single_url(url)

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="检测网站HTTP状态码")
    group = parser.add_mutually_exclusive_group()
    group.add_argument('--url', type=str, help="单个要检测的URL")
    group.add_argument('--website', type=str, help="包含多个URL的文件路径")
    args = parser.parse_args()
    run(args)

关键改动说明

  • 命令行参数优化:用argparse的互斥组确保--url和--website不能同时使用,避免参数冲突
  • 文件读取逻辑:新增load_urls_from_file函数,读取文件时自动跳过空白行,同时处理文件不存在、读取异常等情况
  • 批量检测拆分:把单个URL检测逻辑拆成check_single_url函数,增加超时设置和异常捕获,避免单个URL请求失败导致整个程序终止
  • 输入兼容:保留原有的交互式输入功能,无命令行参数时仍可手动输入URL

使用示例

  1. 检测单个URL:
test.py --url http://google.com
  1. 批量检测文件中的URL:
test.py --website url.txt

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 10:57:41