2016年最长的假期也过了,这周连上7天班,之前还觉得挺恐怖,没想到这周真是要忙死的节凑,还真没觉得多漫长,一晃明天就周五了,干运维的就是突发的事情多,冷不丁的不知道哪里就冒出个问题,就够搞半天的,最近领导有一批站点,需要检测这些站点是否重定向到了其它url上,因为站点太多,这种事就只能通过脚本来实现了,当然我还是用个人最喜欢的request模块来完成这个任务,基本原理就是判断站点返回的status_code,如果是3XX,就认为是重定向了,当然还有其它情况,比如访问超时,域名解析错误,网络错误等,也要做基本的判断,最起码要能报出来,需要检测的站点放到了一个文件里,因为站点收集的格式不统一,就做了简单的判断,如果不是以http开通的,就加上http,拼接成完整的url,整个脚本如下:

#!/usr/bin/env python

import sys

import requests

def check_for_redirects(url):

try:

r = requests.get(url, allow_redirects=False, timeout=0.5)

if 300 <= r.status_code < 400:

return r.headers['location']

else:

return '[no redirect]'

except requests.exceptions.Timeout:

return '[timeout]'

except requests.exceptions.ConnectionError:

return '[connection error]'

def check_domains(urls):

for url in urls:

url_to_check = url if url.startswith('http') else "http://%s" % url

redirect_url = check_for_redirects(url_to_check)

print("%s => %s" % (url_to_check, redirect_url))

if __name__ == '__main__':

fname = 'domains.txt'

try:

fname = sys.argv[1]

except IndexError:

pass

urls = (l.strip() for l in open(fname).readlines())

check_domains(urls)

脚本就定义了2个函数,一个是负责检查结果的返回,一个从文件读取url,主要是根据r.status_code的返回值来进行判断,这个在开通已经说过了,就不在重复了,其它部分也很好理解,如有不明白的可以给我留言。

python获取重定向url_python中检测url重定向到的地址的例子相关推荐

  1. python遍历文本文件统计字符个数_用python获取txt文件中关键字的数量

    缘起: 开发人员需要tomcat中一个项目在一个月的访问请求量,因其他原因只剩下查找tomcat请求日志的方法获取,刚好最近在学习python,于是就用python摸索了下: 大体思路: 1.把相应t ...

  2. python获取List数组中重复元素的个数(arcpy中统计FeatureClass中各类型地物要素的图斑数)(地理国情监测)

    python获取List数组中重复元素的个数(arcpy中统计FeatureClass中各类型地物要素的图斑数)(地理国情监测) for str_Val in set(shp_JH_list): #循 ...

  3. java httpclient 重定向_httpclient 中post请求重定向

    背景:使用httpclient 的post请求进行登录,需要重定向登录,请求重定向后的地址 在httpclient中post请求不像get请求自己可以重定向,实现方式是 判断post请求返回码是否是3 ...

  4. 通过python获取苹果手机备份文件中的照片,视频等信息采集

    前言: 苹果手机用户通常会将手机备份到电脑上,而备份文件通常不会自动删除.在我们电脑取证,或者***到一台电脑后可以通过python脚本获取到备份文件中的一些隐私信息,比如照片.视频.相关软件中的一些 ...

  5. 获取json文件中的URL

    1.实例代码为实现获取json文件中的图像: # -*- coding:utf-8 -*- import requests import re import osdef get_page_url(ur ...

  6. iphone看python文件_通过python获取苹果手机备份文件中的照片,视频等信息采集

    前言: 苹果手机用户通常会将手机备份到电脑上,而备份文件通常不会自动删除.在我们电脑取证,或者***到一台电脑后可以通过python脚本获取到备份文件中的一些隐私信息,比如照片.视频.相关软件中的一些 ...

  7. 使用Python获取Excel文件中单元格公式的计算结果

    假设有如下Excel文件,其中第二个WorkSheet中数据如下: 其中D列为公式,现在要求输出该列公式计算的数值结果,代码如下: 代码运行结果: ----------相关阅读---------- 1 ...

  8. python获取csv文件中某一列或者某些列

    把三个csv文件中的feature值整合到一个文件中,同时添加相应的label. # -*-coding:utf-8 -*- import csv; label1 = '1' label2 = '2' ...

  9. Python 获取文件夹中的文件列表

    获取文件夹中的文件列表 问题 你想获取文件系统中某个目录下的所有文件列表. 解决方案 使用 os.listdir() 函数来获取某个目录中的文件列表: import os names = os.lis ...

最新文章

  1. 【Design pattern】简单工厂过渡策略模式
  2. 中国首个工业云平台发布 徐工阿里华为联合打造
  3. python中的idle在哪里_python idle 的打开方式
  4. Android仿网易新闻导航栏PagerSlidingTabStrip
  5. Angular tsconfig.json 文件里的 paths 用法和 scoped module 定义
  6. python中处理命令行参数命令getopt
  7. NB-IOT:系列专题1:低功耗能力
  8. 在ADF应用中,能够通过 oracle.adf.view.rich.security.FRAME_BUSTING 参数来使用framebusting功能。
  9. 30天自制操作系统笔记--Day01
  10. jquery滚动条滚动事件_滚动条和jQuery –使用航点的事件处理
  11. Mac OS 关闭系统更新提示小红点
  12. JAVA编写元音字母(Switch语句)
  13. Chapter4.2:根轨迹法
  14. 达内学习的java类库01
  15. uview 瀑布流_最简单的微信小程序瀑布流布局方法
  16. 自定义控件三部曲之动画篇(七)——ObjectAnimator基本使用
  17. AI大语音(十)——N-gram语言模型(深度解析)
  18. OpenGL.ES在Android上的简单实践:11-全景(索引-深度测试)
  19. win10 进入system账户权限
  20. 2023年天津中德应用技术大学专升本通信工程专业考试大纲

热门文章

  1. Kubernetes - - k8s - v1.12.3 OpenLDAP统一认证
  2. java基础-BigDecimal类常用方法介绍
  3. Django 入门项目案例开发(中)
  4. Python自动化运维:Django之View视图和Template
  5. 登录时记住用户名和密码及cookie案例应用
  6. pyramid新建项目
  7. [相关总结性文章] 写给即将入行的程序员的一封信
  8. Ext GrdPanel多种取值方式
  9. kaggle数据集_Kaggle上有170万份ArXiv文章的数据集
  10. 数据科学与大数据技术的案例_主数据科学案例研究,招聘经理的观点