`
ryan.liu
  • 浏览: 136361 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

检查网址是否存在

 
阅读更多

 

# -*- coding: utf-8 -*-

from urlparse import urlsplit
from httplib import HTTPConnection


class HttpChecker:
    """ 检测网址是否存在 """

    def __init__(self, domain):
        if "//" in domain: #网址,不止是域名
            self.netloc = urlsplit(domain).netloc
        else:
            self.netloc = domain

    def __enter__(self):
        self.connection = HTTPConnection(self.netloc)
        return self

    def __exit__(self, exc_type, exc_value, traceback):
        del self.connection

    def check(self, url, splited=False):
        status = 0
        if splited: #已经是网址中域名以后部分,必须以/开头
            path = url
        else:
            netloc, path = urlsplit(url)[1:3]
            if netloc and netloc != self.netloc:
                self.netloc = netloc
                self.connection = HTTPConnection(self.netloc)
        self.connection.connect()
        self.connection.request("HEAD", path)
        status = self.connection.getresponse().status
        self.connection.close()
        return status == 200



if __name__ == "__main__":
    with HttpChecker("www.google.com.hk") as hc:
        print hc.check("http://www.google.com.hk/intl/zh-CN/options/")
分享到:
评论

相关推荐

    Delphi TnmHTTP head判断检查网址是否存在

    在标题和描述中提到的“Delphi TnmHTTP head判断检查网址是否存在”指的是使用TnmHTTP组件的HEAD方法来检测一个URL是否可以成功访问。HEAD方法类似于GET方法,但只返回响应头,不返回实体主体,因此它是一种高效的...

    VC6.0 MFC 检验网址有效性及是否存在

    - 如果OpenURL成功,说明网址存在且可访问;如果失败,可以捕获异常并检查错误代码以确定原因。 4. **处理HTTP响应**: - 使用CHttpFile的Read方法读取服务器的响应,通常不需要读完整个响应,只要能确认HTTP状态...

    易语言源码易语言检测网站是否存在源码.rar

    本压缩包文件"易语言源码易语言检测网站是否存在源码.rar"包含的是使用易语言编写的一个程序,该程序的功能是检测指定的网站是否还存在。下面我们将详细探讨易语言以及如何利用易语言进行网站存在性检测。 1. **...

    url-exist:检查URL是否存在

    URL存在检查URL是否存在。安装npm install url-exist对改进无极的界面。 跨平台工作。 安装尺寸较小。 包括打字稿支持。 捕获无效的URL。 积极维护。用法 import urlExist from "url-exist"await urlExist ( ...

    如何测试目标网址是否已经存在小例子,C++.net源代码编写

    在你下载的压缩包文件“C++2010-03-15-如何测试目标网址是否已经存在”中,应该包含了这个C++.NET项目的源代码。通过编译和运行这个项目,你可以亲身体验这个功能的实现过程。 总结一下,本教程介绍了如何使用C++...

    坏链检查工具

    它通常会逐个遍历网页上的超链接,检查链接的目标是否存在并且可访问。一旦发现坏链,工具会生成报告,列出有问题的链接和相应的错误信息,以便用户进行修复。 标签“坏链”进一步强调了这个工具的主要功能,即识别...

    批量外链有效性检查

    批量外链有效性检查是一项必不可少的任务,它能帮助网站管理员或SEO从业者了解他们的外链策略是否有效,是否存在无效或者有害的外链。标题提到的“批量外链有效性检查”小工具,显然是一款方便用户快速检测大量外链...

    Delphi实现判断网址是否存在及是否可以打开的方法

    在Delphi编程环境中,开发人员有时需要检测一个URL(统一资源定位符)是否有效,即判断该网址是否存在并且可以正常访问。本示例提供了一种使用TNMHTTP组件来实现这一功能的方法。TNMHTTP是Delphi中的一个网络组件,...

    废气处理塔运行检查记录表.pdf

    3. 设备运行状况:检查处理塔内部的喷淋系统、填料、循环泵、风机等关键部件是否正常运转,是否存在堵塞、腐蚀或磨损等现象。 4. 消耗品补充:例如活性炭、除臭剂等消耗品是否需要补充或更换。 5. 检测仪表:记录...

    Node.js-reachable-urls检查文本的网址是否可以访问

    本篇文章将深入探讨一个与Node.js相关的实用工具——`reachable-urls`,这是一个用于检查文本中网址可访问性的模块。 `reachable-urls`是Node.js开发的一个HTTP工具,它的主要功能是对给定文本中的URL进行扫描,并...

    网址有效性批量整理查询

    【标签】:“网址有效性批量整理查询”标签明确了这个工具的主要功能,即检查网址的有效性;“网址有效性”关注的是链接是否能够正确响应;“批量”强调处理大量数据的能力;“整理”意味着该工具可能提供一种组织和...

    软件测试中常见检查点

    - **导航标识**:检查所有导航元素(如文本按钮、网址、导航页面的组成部分及其属性)是否正常工作且易于理解。 - **布局合理性**:确保页面布局既美观又实用,包括页面长度是否合适、颜色搭配是否协调、页面风格...

    根据XSD检查XML并修复

    附件是我写的一个demo程序,该程序的功能是根据一个定义好的XSD文件去检查指定的XML文件是否满足XSD的约束。 这里的约束比标准的约束要弱一些,比如...2 根据得到XML结构,逐一检查目标XML中是否存在指定的元素或属性。

    RG涉密信息自检查工具 2014.rar

    在日常使用中,用户应定期使用此工具进行自我检查,及时发现并处理可能存在的安全隐患,确保个人信息和组织信息的安全无虞。在信息化社会,掌握并合理使用这样的工具,无疑是保障信息安全的重要步骤。

    c++判断网络是否正常并打开网址

    本主题将详细探讨如何使用C++来判断网络是否正常,并根据情况打开指定的网址或者执行网络修复操作。 首先,我们需要理解网络连接的判断过程。在C++中,由于其本身并不直接支持网络功能,我们通常需要借助第三方库或...

    网站批量访问软件,批量检查网站是否正常

    这种软件的主要功能是能够快速地对一系列网址进行访问和检查,以判断这些网站是否能够正常工作,即是否可以顺利加载且无任何错误。在互联网业务中,拥有大量网站或者需要监控多个客户网站的状态时,这样的工具显得尤...

    网址请求校验工具

    工具会记录每个网址返回的状态码,让用户了解哪些网址存在访问问题。 2. **响应时间**:工具还会测量服务器响应每个请求所需的时间,这对于评估网站性能和识别潜在延迟问题至关重要。 3. **内容匹配**:除了基本的...

    Xenu 外链检查软件

    一旦运行程序,只需输入待检查的网址,软件便会开始扫描整个网站的链接结构。它会遍历每个页面,对所有链接进行逐一检查。在扫描过程中,软件会区分内外链,并根据链接的健康状况用不同颜色标记。红色字体标识的链接...

    网址有效性验证

    8. **可用性监控**:持续性地进行URL有效性验证,可以建立一个监控系统,定期检查网址的可达性,及时发现并通知异常。 在实现这一功能时,开发者可以使用各种编程语言,如Python的`requests`库、Java的`...

    全站死链接检查

    这些链接可能是由于页面被删除、网址结构更改或外部资源不再可用等原因产生的。死链接的存在不仅可能导致用户在浏览网站时遇到障碍,还可能影响搜索引擎对网站的评价,从而降低网站的排名。 进行全站死链接检查的...

Global site tag (gtag.js) - Google Analytics