批量检测链接是否有效

因为公司会在很多平台发布传播消息,最后需要将各个网站传播的网址收集起来,去找其它公司报账。每个月大概会有1000多条的网址需要检测是否有效,于是写了个测试链接是否有效。
首先考虑的是用状态码,访问成功返回200,地址错误回返回404等其它错误码

                response = requests.get(url, headers=headers)
                if str(response.status_code) == "200":

结果发现,现在很多网站即使是404也会返回200的状态码,因为网站后台回将404跳转到写好的错误页面,下面以微博为例,其中微博我统计的有两种地址。
一种地址是不带m的地址,如 https://weibo.com/6391771136/KmzPKg193
一种地址是带m.的地址,如https://m.weibo.cn/status/4653812294355107?
一种是网址中含有tv/show/的地址,这种比较少

如果链接中是带m.的,直接使用地址发送请求,然后查询请求中的标题,用于判断链接是否有效,如果用户设置了权限也是无法看见的,所有我设置了3种检测结果,代码如下

                response = requests.get(i['link'], headers=headers)
                page_info = response.text
                title = re.findall(r'<title>(.+?)</title>', page_info)
                if '出错了' in title:
                    i['status'] = '链接出错'
                elif '微博' in title:
                    i['status'] = '有效'
                else:
                    i['status'] = '无法识别'

链接有效的标题为。[‘微博’]
链接粗五的标题为:[‘微博-出错了’]

第二种就是链接中不带m.的,这种链接是ajax请求,直接使用地址是没办法获取数据的,所有需要构建js请求,使用geogle的抓包工具即可获取js请求地址。获取js地址如下所示,有更快的办法也可以交流
1,打开网址,按住f12 或者点击鼠标右键,然后点击检查。选中Network,选中XHR,然后刷新一下网页就可以抓取网络包和请求,然后随便在搜索框查询页面中的文字,搜索框下面会有结果,点击结果,再点击Headers就可以看见js请求了,找一下规律了发现请求变成了https://weibo.com/ajax/statuses/show?id= + 原来地址的最后一串字符串
查询地址 https://weibo.com/6391771136/KmzPKg193
新地址 https://weibo.com/ajax/statuses/show?id=KmzPKg193
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
获取了新的请求地址就可以发起请求判断是否有效了,js请求我使用的判断是根据返回的状态码,因为微博的js请求错误会返回400的错误,当然你也可以根据js中的数据来进行判断

                url = str(i['link']).rsplit('/')[-1]
                url = 'https://weibo.com/ajax/statuses/show?id=' + url
                response = requests.get(url, headers=headers)
                if str(response.status_code) == "200":
                    i['status'] = '有效'
                else:
                    i['status'] = '链接出错'

网址中含有tv/show/的和上面的的js请求操作一样,构建的链接有点不一样,直接上代码

            elif 'tv/show/' in i['link']:
                url_item = str(i['link']).split(':')[-1]
                url_item = url_item.split("?")[0]
                url = 'https://weibo.com/ajax/statuses/buildComments?is_reload=1&id={}&is_show_bulletin=2&is_mix=0&max_id=0&count=20&uid=1864419143'.format(url_item)
                response = requests.get(url, headers=headers)
                if str(response.status_code) == "200":
                    i['status'] = '有效'
                else:
                    i['status'] = '链接出错'

各位有什么对网址检查的好办法希望多多交流
测试的时候会报ssl证书的错误加上以下代码就好了
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
傀儡SQL注入批量扫描工具是一种用于检测和扫描网站是否存在傀儡SQL注入漏洞的软件工具。傀儡SQL注入是一种常见的网络安全漏洞,攻击者可以利用该漏洞来获取数据库中的敏感信息,或者更严重的情况下,完全控制受攻击的网站。 这种工具的工作原理是自动化扫描一系列的URL链接,检查这些链接是否存在傀儡SQL注入漏洞。工具会自动发送带有特殊注入代码的请求,以尝试从数据库中获取未经授权的数据。如果网站存在注入漏洞,工具将会提供相应的警报或报告。 使用傀儡SQL注入批量扫描工具的好处是可以快速发现并修复潜在的漏洞。通过自动化扫描,工具可以在短时间内检查大量的URL链接,从而节省了人工扫描的时间和精力。同时,工具还可以提供详细的报告,包括漏洞的类型、位置和可能的危害程度,帮助网站管理员更好地了解漏洞的风险,并采取相应的措施进行修复。 然而,傀儡SQL注入批量扫描工具只是发现漏洞的工具,不能替代人工的安全评估和修复过程。因此,在使用这种工具时,网站管理员仍然需要监测并验证扫描结果,确保没有误报或漏报。此外,修复漏洞也需要采取正确的措施,例如升级软件、过滤输入等,才能有效地防范傀儡SQL注入攻击。 总之,傀儡SQL注入批量扫描工具在网络安全领域发挥着重要的作用,可以帮助网站管理员快速发现和修复潜在的傀儡SQL注入漏洞,从而提高网站的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值