我想验证一个url是否是视频原始文件链接,例如:
http://hidden_path/video_name.mp4
下面是我当前的代码:
def is_video(url):
r = None
try:
r = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'}))
except:
return False
content_type = r.getheader("Content-Type")
if re.match("video*", content_type):
return True
return False
如果视频 url 是一个大视频,此代码将有问题,并且可能导致服务器超时错误。
有没有更好的方法?
最佳答案
如果您只想检查 Content-Type
您可以发送标题的 HEAD
请求而不是 GET
.
一旦您获得来自 HEAD
的回复请求您可以检查 video
在Content-Type
标题如上。
例子:
>>> req = urllib.request.Request(url, method='HEAD', headers={'User-Agent': 'Mozilla/5.0'})
>>> r = urllib.request.urlopen(req)
>>> r.getheader('Content-Type')
'video/mp4'
关于python - 验证 url 是否是没有 urllib.request.urlopen 的视频原始文件链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37267871/