对于一个项目,我需要在设置ssl连接时查找服务器发送给客户端的证书包的大小。
这是通过TCP发生的,因此可以将数据包拆分为多个段。我必须在排名前100的Alexa网站上执行此操作。我能够获取100个站点的列表,然后运行以下代码:
import ssl
import urllib
import os
import subprocess
from subprocess import call
import re
f = open("urls.txt", "r")
array = []
for line in f:
line = line[:-1]
array.append(line)
for a in array:
str = ":443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/Desktop/thesis/certificates/" + a + ".cert"
subprocess.getoutput('echo -n | openssl s_client -connect '+ a + str)
然而,第二个for循环在六次迭代后挂起,因此在我的证书文件夹中只有六个证书。有人可以告诉我为什么挂起和/或如何修复它?谢谢