
python识别http和https
在处理大量网络相关数据时,识别url中使用的协议(http或https)至关重要。对于像www.example.com这样的常见url,手动添加协议比较容易。但是,当处理数量较大的url时,自动化识别变得更加必要。
使用python,可以通过以下方式识别http和https:
-
端口端口识别法:
立即学习“Python免费学习笔记(深入)”;
- 默认情况下,http使用端口80,而https使用端口443。
- 您可以尝试使用端口80或443访问url。如果成功,则可以判断相应的协议。
- 可以使用以下代码段进行尝试:
import socket
def identify_protocol(url):
try:
# 尝试使用端口80
s = socket.socket(socket.af_inet, socket.sock_stream)
s.connect((url, 80))
return "http"
except:
try:
# 尝试使用端口443
s = socket.socket(socket.af_inet, socket.sock_stream)
s.connect((url, 443))
return "https"
except:
return "unknown"-
尝试连接法:
- 对于公共网站,您可以尝试同时使用http和https进行连接。
- 如果连接成功,则可以判断相应的协议。
- 可以使用以下代码段进行尝试:
import requests
def identify_protocol(url):
try:
# 尝试使用HTTP
response = requests.get("http://" + url)
if response.status_code == 200:
return "HTTP"
except:
try:
# 尝试使用HTTPS
response = requests.get("https://" + url)
if response.status_code == 200:
return "HTTPS"
except:
return "Unknown"通过使用这些方法,您可以高效地识别http和https协议,从而方便后续的处理和分析。










