如何检查url是否使用ssl证书以及url是否使用确切的ssl证书?

时间:2019-09-10 09:34:33

标签: python ssl python-requests ssl-certificate aiohttp

我想区分url是否使用ssl-certificate和url是否存在。 更详细地讲,如果我的客户仅使用不使用ssl证书的网址(例如www.google.com),则我要检查此url(例如www.google.com)是否未使用ssl证书。如果网址是错误的网址(例如,响应404错误),我要检查网址是错误的。

我使用aiohttp检查url是否错误。因为,我有很多需要检查的网址。 为了检查网址是否使用ssl,我尝试将所有网址转换为https,然后使用aiohttp.TCPConnector(ssl = False)连接aiohttp.ClientSession。 然后我检查session.get抛出错误。

headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"
  }

async def check(row):
  async with aiohttp.ClientSession(headers=headers, connector=aiohttp.TCPConnector(ssl=False, limit=None)) as session:
    try:
        async with session.get(url, allow_redirects=True) as resp:
          print(resp)
          if resp.status != 200:
              err_list_ssl.add(row)
    except Exception as e:
        err_list_ssl.add(row)

此方法可以检查某些情况。但并非所有情况都一样(例如,如果转换为“ https”的网址是响应200)。 这是示例图片,该图片的网址未使用ssl但可以很好地打开。

enter image description here

真的,我不知道如何检查url是否使用ssl。

请,有人帮助我..

0 个答案:

没有答案