记:Python中验证URL是否可以访问

今天下午的时候写RPC接口自动化的时候需要验证研发传过来的URL是否可以访问,由于自己是个垃圾,没写过Python,只是这段时间学了点Java,后通过度娘与Google查了挺久,总算是搞出来了,在此记录下。

需求

研发传过来URL,比如https://master.knife.staging.dev.in.chaitin.net:9443/或者https://fk01-test.knife.staging.dev.in.chaitin.net:9443/这种,有时候在本地运行接口自动化的话URL无法连接,需要给一个默认的URL

获取URL的方法

  1. 一开始在网上找的是通过request.urlopen(url)来获取它的一个response,之后再通过response.getcode()获取到返回码这种(如果有返回码),没有的话就进入异常分支
    记:Python中验证URL是否可以访问
    后面尝试的时候确实是可以的,会验证上面的URL,将结果保存到url_check.csv文件中,但是当时一拿到优点不太懂什么意思(太菜啦),并且觉得不是自己需要的就放弃了,后面查了try…except的意思之后才发现这个和Java中的try…catch的作用一样,处理异常。
  2. 后面又重新找了另外的一个方法,使用requests.get(url)获取返回码操作
    记:Python中验证URL是否可以访问
    但是这个如果在碰到无法访问的URL时会直接把错误的返回数据打印出来,这不是我需要的(这个按理说)

取消SSL验证

  1. 由于我需要验证的URL都是HTTPS方式的,所以在验证是否能够访问时需要取消ssl验证,其中request.get中可以添加verify参数取消验证,requests.get(url, verify=False)
  2. 使用request.urlopen时我以为也是使用verify参数的,后面发现报错,又重新找了一个方法:context = ssl._create_unverified_context(),之后使用下context这个参数等于这个值就可以啦(当然不要忘记导包)
    记:Python中验证URL是否可以访问

成果

最终使用了request.urlopen的方式验证的,下面放上:
记:Python中验证URL是否可以访问

另记–MacBook中安装flake8,并且在pycharm中配置检查代码

  1. 在pycharm的terminal中安装flake8之后再配置好像更容易成果

相关文章: