python测试url是否可访问,网站是否连通的方法
目录
- 前言
- 1. requests库
- 1.1 传参
- 1.2 响应内容
- 2. python web
前言
一般这种方法用在校验
比如
- 前端界面传回后端的url,如果返回值不是200,不保存其值
- 调用的接口不通,直接返回非200
- 爬虫网站,验证url是否可爬取等信息
1. requests库
讲解实战方法之前,先科普下基本的知识点
该代码为requests而不是request(注意区分)
导入的时候通过import requests
通过requests库获取url
获取得到的值赋值给response对象:res = requests.get(url)
requests的Http请求类型(get、post、put、delete等)都可返回一个response对象
url = https://blog.csdn.net/weixin_47872288
res = requests.get(url)
res = requests.post(url)
res = requests.put(url)
res = requests.delete(url)
res = requests.head(url)
res = requests.options(url)
1.1 传参
经常看到一些网站都是key=value
或者/value
传参
(在java中类似restful等格式: RESTFul从入门到精通超全解析(全))
如果传入key value通过requests的HTTP请求类型获取,传入字典、列表、元祖类型等
具体格式如下:
# 字典传输
# https://blog.csdn.net/weixin_47872288?key=value
param = {'key': 'value'}
res = requests.get("https://blog.csdn.net/weixin_47872288", param=param)# 单个key 多个value(传入列表)
# https://blog.csdn.net/weixin_47872288?key1=value1&key2=value2&key2=value3&key2=value4
param = {'key1': 'value1','key2': ['value2', 'value3', 'value4']}}
res = requests.get("https://blog.csdn.net/weixin_47872288", param=param)
1.2 响应内容
关于响应内容具体都有这些方法,通过这些方法取出想要的数据信息:
方法 | 描述 |
---|---|
res.raise_for_status() | 404的时候会抛出异常(响应404) |
res.status_code | 返回值 |
res.apparent_encoding | 编译方式 |
res.ok | 是否成功访问 |
大致示例代码如下:
res = requests.get(url)
try :logger.info(res.raise_for_status())
except requests.exceptions.HTTPError as err:logger.info(err)logger.info(res.status_code)
logger.info(res.apparent_encoding)
logger.info(res.ok)
如果url或者接口不可访问的时候,输出值为:
404 Client Error: Not Found
404
ascii
False
讲解一下这个函数:res.raise_for_status()
,主要与异常绑定在一起,如果response返回值非200,返回一个HTTPError,返回值200则内容正确(判定网络是否可正常连接)
2. python web
结合python web实战开发
通过前端form表单传进的数据(获取其url值)
def save_data(self, request, form):# 通过获取url接口port = form.cleaned_data['port']# 由于没有http,通过拼接url = "http://" + port# 定义响应头文文件headers = {"Content-Type": "application/json"}# 通过requests库res = requests.get(url=url, headers=headers)# 如果返回值非200 则跳出该函数返回falseif res.status_code != 200:return False# 接口测试成功,则继续执行以下代码
如果url返回不是200,则form表单无法进行保存
如果接口带有参数,可通过模拟接口进行测试:
url = "http://" + url_valuept = requests.post(url)
gt = requests.get(url)try:if (pt.status_code == 200 or gt.status_code == 200) or (pt.status_code == 400 and json.dumps(pt.text) != None) or (gt.status_code == 400 and json.dumps(gt.text) != None):// 执行elif pt.status_code == 404 and gt.status_code == 404:return Falseexcept Exception:logger.info("false url")
python测试url是否可访问,网站是否连通的方法相关推荐
- 访问网站数据库的一个方法
第一步:随便打开一个浏览器, 1. 百度或google搜索存在漏洞的网站: inurl:szwyadmin/login.asp 2. 会出现一些login.asp后缀的网站后台,随便进去一个,例如 ...
- python访问多个网站_Python多并发访问网站
这篇文章主要介绍了Python实现多并发访问网站功能,结合具体实例形式分析了Python线程结合URL模块并发访问网站的相关操作技巧,需要的朋友可以参考下 本文实例讲述了Python实现多并发访问网站 ...
- 网站安全之nginx的配置创建访问网站密码认证
最近我们Sinesafe在处理nginx+php+mysql架构的客户网站安全方面要配置后台的二级密码访问验证处理过程中要用到nginx的配置来完成这个二级密码的设置安全部署. 下面由我来简要说一下在 ...
- 通过cookies跳过验证码登陆页面,直接访问网站的其它URL
我每次手动访问去NN网的一家酒店,就不需要登陆,一旦我用脚本打开就会让我登陆,而登陆页面又有验证码,不想识别验证码,所以就想:"通过cookies跳过验证码登陆页面,直接访问网站的其它URL ...
- python使用代理ip访问网站_python使用代理ip访问网站的实例
实例如下所示: # -*- coding: UTF-8 -*- from urllib import request if __name__ == "__main__": #访问网 ...
- 百度快排探究(一),Python selenium 实现自然搜索访问目标网站
快排是现在比较火热的seo手段,快排即快速排名,相比传统的优化手段,尤其是企业站而言,快排能够快速占据排名,获取流量及客户,也是最热门的韭菜项目,可谓酸爽至极. 快排有没有用,据观察,应该是有用的,不 ...
- python测试网站功能_网站测试流程、要求及测试报告
网站测试流程.要求及测试报告 一个网站基本完工后,需要通过下面三步测试才可以交活. 一. 制作者测试,包括美工测试页面.程序员测试功能.在做完后第一时间内有制作者本人进行测试. a) 页面 包括首页. ...
- jar 工程我怎么在网页上url访问某一个方法_url及url参数与seo网站优化的关系
短视频,自媒体,达人种草一站服务 首先我还是援引下百度百科关于url的定义. 统一资源定位符(Uniform Resource Locator,缩写为URL)是对可以从互联网上得到的资源的位置和访问方 ...
- 测试网站访问速度的5个方法
网页载入速度对于一个网站来讲很关键,Google已经将一个网站的载入速度列入了网站关键字排名的考虑因素当中,也就是说如果你的网站有足够的内容,而且载入速度比别人的网站更快一步的话,那么你就是获得更好的 ...
最新文章
- 显示一个数字到小数点后两位
- 读阿里亿级日活网关通道架构演进有感
- css写出三角形(兼容IE)
- 【转】二、VTK用于QT的安装
- Mybatis Plus————代码生成器
- 用户模式下的线程同步
- javascript闭包_JavaScript闭包基本指南
- 更换百度地图图标html,百度地图接口,自定义图标,点击切换图标
- php传值到模板,thinkphp模板传值
- Kejin Game UVALive - 7264 (最大流转最小割)
- 关于VFS文件系统中的superblock、inode、d_entry和file数据结构
- linux环境编程apue和unp,UNIX高级环境编程:源码(apue)下载 编译和运行
- 局域网用户的限制与反限制
- mysql x86 x64_X86和X86_64和X64有什么区别?
- 2019 最值得被记录的 14 条 AI 安防领袖语录丨年终盘点
- 高等数学:极限与连续
- C++ 简易的五子棋游戏 初学者
- windows 下 nginx 双向认证自签名证书配置
- 利用BibTeX批量导入参考文献
- 面试时如何考察应聘者的素质?