fix: replace requests with httpx

This commit is contained in:
abc1763613206
2025-02-14 00:23:35 +08:00
parent 506e30af24
commit af3e85e11b

25
main.py
View File

@@ -4,7 +4,7 @@ import json
import os import os
import re import re
import traceback import traceback
import requests import httpx
import subprocess import subprocess
import time import time
import shutil import shutil
@@ -14,7 +14,7 @@ from sys import stdout
from termcolor import colored, RESET from termcolor import colored, RESET
from datetime import datetime from datetime import datetime
from func_timeout import func_set_timeout, FunctionTimedOut from func_timeout import func_set_timeout, FunctionTimedOut
from requests.adapters import HTTPAdapter
dt = datetime.now() dt = datetime.now()
# Channel Group Source Link Description # Channel Group Source Link Description
# Description 应当对该源的已知参数进行标注如码率HDR # Description 应当对该源的已知参数进行标注如码率HDR
@@ -47,19 +47,16 @@ def get_stream(num, clist, uri):
def check_channel(clist, num): def check_channel(clist, num):
# clist 为一行 csv # clist 为一行 csv
uri = clist[3] uri = clist[3]
requests.adapters.DEFAULT_RETRIES = 3
try: try:
r = requests.get(clist[3], timeout=1) # 先测能不能正常访问 with httpx.Client(timeout=0.5) as client:
if (r.status_code == requests.codes.ok): ReqStatus = False
# ffprobe = FFprobe(inputs={uri: '-v warning'}) try:
# errors = tuple(filter( r = client.get(clist[3], follow_redirects=True)
# lambda line: not (line in ('', RESET) or any(regex.search(line) for regex in SKIP_FFPROBE_MESSAGES)), if r.status_code == 200:
# ffprobe.run(stderr=PIPE)[1].decode('utf-8').split('\n') ReqStatus = True
# )) except httpx.UnsupportedProtocol:
# if errors: # https://github.com/Jamim/iptv-checker/blob/master/iptv-checker.py#L26 ReqStatus = True
# print('[{}] {}({}) Error:{}'.format(str(num), clist[0], clist[2], str(errors))) if ReqStatus:
# return False
# else: # 查视频信息
cdata = get_stream(num, clist, uri) cdata = get_stream(num, clist, uri)
if cdata: if cdata:
flagAudio = 0 flagAudio = 0