gpt4 book ai didi

python - 如何捕获 Python 中的任何套接字错误?

转载 作者:太空宇宙 更新时间:2023-11-04 03:41:03 25 4
gpt4 key购买 nike

我正在尝试检查 jpg 的 URL 是否真实。此代码有效,如果 jpg 存在则返回 True:

import httplib

def exists(site, path):

conn = httplib.HTTPConnection(site)
conn.request('HEAD', path)
response = conn.getresponse()
conn.close()
return response.status == 200

print exists('uploads1.wikiart.org',
'/images/vincent-van-gogh/vincent-s-bedroom-in-arles-1889.jpg')

但是,如果我将它发送到一个不存在的 url,比如 'uploads1111.wikiart.org',我会收到一个套接字错误,内容为:

socket.error: [Errno 10060] A connection attempt failed 
because the connected party did not properly respond after a period of time

我搜索了一个答案并找到了与 errno 模块有关的东西,但无法将该代码成功应用到我自己的模块中。我正在 try catch 任何套接字错误并返回 False(如果有)。

最佳答案

回答我自己的问题:

import httplib
import socket


def exists(site, path):

try:
conn = httplib.HTTPConnection(site)
conn.request('HEAD', path)
response = conn.getresponse()
conn.close()
return response.status == 200

except socket.error:
return False

关于python - 如何捕获 Python 中的任何套接字错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26452297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com