当前位置: 首页 > news >正文

黑龙江网站建设工作室铜仁做网站

黑龙江网站建设工作室,铜仁做网站,会计公司网站模板,营业推广方案文章目录 前言1. 命令行传参2. 代码 前言 最近在只有python2的服务器上部署服务,不能用三方类库,这里出于好奇心学习下python。这里简单做个脚本,实现了检验网络连通性的功能(类似于curl)。 1. 命令行传参 使用命令…

文章目录

    • 前言
    • 1. 命令行传参
    • 2. 代码

前言

最近在只有python2的服务器上部署服务,不能用三方类库,这里出于好奇心学习下python。这里简单做个脚本,实现了检验网络连通性的功能(类似于curl)。
在这里插入图片描述

1. 命令行传参

使用命令行的目的是可以一次性检验多个url的连通性,比如上线前对接多个三方接口可以用上。

python test_socket.py -u "{'https://www.baidu.com':'120.232.145.144','ws://localhost:8080/ws':'127.0.0.1','wss://hello/ws':''}" 

参数解释

{'https://www.baidu.com':'120.232.145.144', // 期待域名解析为120.232.145.144 否则报错'ws://localhost:8080/ws':'127.0.0.1',  // 期待域名解析为127.0.0.1 否则报错'wss://hello/ws':''  // 无期望域名解析的ip,保证连通性即可
}

2. 代码

# -*- coding: utf-8 -*-# coding:utf-8
import sys
import getopt
import socket
import urlparse
import redef get_hostname(input_url):if len(input_url) == 0:return 'url为空'hostname = urlparse.urlparse(input_url).hostnameif hostname is None:return '域名解析为空'try:return socket.gethostbyname(hostname)except socket.error:return '域名解析异常'def get_port(input_url):if len(input_url) == 0:return 'url为空'# url 上读端口号input_port = urlparse.urlparse(input_url).portif input_port:return input_port# url 上读不到端口号用协议类型区分scheme = urlparse.urlparse(input_url).schemeif scheme == 'https' or scheme == 'wss':return 443if scheme == 'http' or 'ws':return 80def check_connect(input_ip, input_port):# 设置超时时间为3秒钟socket.setdefaulttimeout(3)s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)try:s.connect((input_ip, input_port))return '可联通'except socket.timeout:return '无法联通, 超时'except Exception as e:return '无法联通, 异常:' + str(e)finally:s.close()# 从命令行中读取参数
opts, argv = getopt.getopt(sys.argv[1:], 'u:')
ops = dict(opts)
url_ip_dict = eval(ops.get('-u'))# 循环参数内容进行连通性检测
print "-"*150
printTemplate = "%-60s %-20s %-20s %-50s"
print printTemplate % ('url', 'ip', 'port', 'result')
print "-"*150
for input_url, input_ip in url_ip_dict.iteritems():# 域名解析actual_ip = get_hostname(input_url)# 未能解析出ip为异常if not re.match(r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', input_ip):print printTemplate % (input_url, '\\', '\\', actual_ip)continue# 解析出ip, 且入参存在ip 则校验是否是解析出来的ipif input_ip:if actual_ip != input_ip:print printTemplate % (input_url, input_ip, '\\', '未能联通, 实际解析的ip为' + actual_ip)continueport = get_port(input_url)# 连通性测试result = check_connect(actual_ip, port)print printTemplate % (input_url, actual_ip, port, result)
http://www.yayakq.cn/news/578994/

相关文章:

  • app开发与网站建设seo搜索引擎优化师
  • 刷单网站建设网页素材制作
  • 超链接到网站怎么做视频微信公众号分销功能
  • wordpress 多语言建站华为荣耀官网
  • 零食网站建设需求分析免费网页设计生成器
  • 企业建立网站需要什么条件买网站服务器要多少钱
  • 枣庄网站seowordpress发布文章后页面错误
  • 免费ppt模板下载大全网站空间设计英文
  • 招聘网站制作公司超级网站模板下载
  • 邢台推广网站建设电话wordpress 图片暗箱插件
  • 四子王旗建设局网站软件外包公司可以去吗
  • 广东网站建设服务大连做网站哪家好一点
  • 什么叫网站权重宁波建工工程集团有限公司
  • 怎么样做购物网站动漫设计与制作有什么学校
  • 苏州专业做网站公司有哪些c2c模式名词解释
  • 汶上县建设局官方网站网站建设模式有哪些内容
  • 网站开发跟app开发的差别建筑设计主要内容
  • wap网站制作教程全国最大网站建站公司
  • 深圳市工程交易中心网站包头全网营销网站建设
  • 网站备案跟域名备案学习网站建设要什么学历
  • 请将已备案网站接入访问网页微信聊天电脑有记录吗
  • 嘉兴英文网站建设电子商务网站建设 精品课程
  • 怎么建设网站网页游戏国内优秀网站设计
  • 聊城网站建设报价杭州建设网站网站
  • 增加网站和接入备案电子商务网站建设初学视频教程
  • 制作网站用什么语言虚拟主机搭建wordpress
  • 廊坊网站搭建网站制作软件都是什么
  • 深圳网站. 方维网络网页开发流程图
  • 网站模块是什么意思竞价推广怎么做
  • 有没有代做模型的网站公众号兼职网站开发