python获取重定向url_python中检测url重定向到的地址的例子
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重定向到的地址的例子相关推荐
- python遍历文本文件统计字符个数_用python获取txt文件中关键字的数量
缘起: 开发人员需要tomcat中一个项目在一个月的访问请求量,因其他原因只剩下查找tomcat请求日志的方法获取,刚好最近在学习python,于是就用python摸索了下: 大体思路: 1.把相应t ...
- python获取List数组中重复元素的个数(arcpy中统计FeatureClass中各类型地物要素的图斑数)(地理国情监测)
python获取List数组中重复元素的个数(arcpy中统计FeatureClass中各类型地物要素的图斑数)(地理国情监测) for str_Val in set(shp_JH_list): #循 ...
- java httpclient 重定向_httpclient 中post请求重定向
背景:使用httpclient 的post请求进行登录,需要重定向登录,请求重定向后的地址 在httpclient中post请求不像get请求自己可以重定向,实现方式是 判断post请求返回码是否是3 ...
- 通过python获取苹果手机备份文件中的照片,视频等信息采集
前言: 苹果手机用户通常会将手机备份到电脑上,而备份文件通常不会自动删除.在我们电脑取证,或者***到一台电脑后可以通过python脚本获取到备份文件中的一些隐私信息,比如照片.视频.相关软件中的一些 ...
- 获取json文件中的URL
1.实例代码为实现获取json文件中的图像: # -*- coding:utf-8 -*- import requests import re import osdef get_page_url(ur ...
- iphone看python文件_通过python获取苹果手机备份文件中的照片,视频等信息采集
前言: 苹果手机用户通常会将手机备份到电脑上,而备份文件通常不会自动删除.在我们电脑取证,或者***到一台电脑后可以通过python脚本获取到备份文件中的一些隐私信息,比如照片.视频.相关软件中的一些 ...
- 使用Python获取Excel文件中单元格公式的计算结果
假设有如下Excel文件,其中第二个WorkSheet中数据如下: 其中D列为公式,现在要求输出该列公式计算的数值结果,代码如下: 代码运行结果: ----------相关阅读---------- 1 ...
- python获取csv文件中某一列或者某些列
把三个csv文件中的feature值整合到一个文件中,同时添加相应的label. # -*-coding:utf-8 -*- import csv; label1 = '1' label2 = '2' ...
- Python 获取文件夹中的文件列表
获取文件夹中的文件列表 问题 你想获取文件系统中某个目录下的所有文件列表. 解决方案 使用 os.listdir() 函数来获取某个目录中的文件列表: import os names = os.lis ...
最新文章
- 【Design pattern】简单工厂过渡策略模式
- 中国首个工业云平台发布 徐工阿里华为联合打造
- python中的idle在哪里_python idle 的打开方式
- Android仿网易新闻导航栏PagerSlidingTabStrip
- Angular tsconfig.json 文件里的 paths 用法和 scoped module 定义
- python中处理命令行参数命令getopt
- NB-IOT:系列专题1:低功耗能力
- 在ADF应用中,能够通过 oracle.adf.view.rich.security.FRAME_BUSTING 参数来使用framebusting功能。
- 30天自制操作系统笔记--Day01
- jquery滚动条滚动事件_滚动条和jQuery –使用航点的事件处理
- Mac OS 关闭系统更新提示小红点
- JAVA编写元音字母(Switch语句)
- Chapter4.2:根轨迹法
- 达内学习的java类库01
- uview 瀑布流_最简单的微信小程序瀑布流布局方法
- 自定义控件三部曲之动画篇(七)——ObjectAnimator基本使用
- AI大语音(十)——N-gram语言模型(深度解析)
- OpenGL.ES在Android上的简单实践:11-全景(索引-深度测试)
- win10 进入system账户权限
- 2023年天津中德应用技术大学专升本通信工程专业考试大纲
热门文章
- Kubernetes - - k8s - v1.12.3 OpenLDAP统一认证
- java基础-BigDecimal类常用方法介绍
- Django 入门项目案例开发(中)
- Python自动化运维:Django之View视图和Template
- 登录时记住用户名和密码及cookie案例应用
- pyramid新建项目
- [相关总结性文章] 写给即将入行的程序员的一封信
- Ext GrdPanel多种取值方式
- kaggle数据集_Kaggle上有170万份ArXiv文章的数据集
- 数据科学与大数据技术的案例_主数据科学案例研究,招聘经理的观点