本文實例講述了Python實現的tcp端口檢測操作。分享給大家供大家參考,具體如下:
# coding=utf-8import sysimport socketimport redef check_server(address, port): s = socket.socket() print 'Attempting to connect to %s on port %s' % (address, port) try: s.connect((address, port)) print 'Connected to %s on port %s' % (address, port) return True except socket.error as e: print 'Connection to %s on port %s failed: %s' % (address, port, e) return Falseif __name__ == '__main__': from argparse import ArgumentParser parser = ArgumentParser(description=u'TCP端口檢測') parser.add_argument( '-a', '--address', dest='address', default='localhost', help='address for the server') parser.add_argument( '-p', '--port', dest="port", default=80, type=int, help='port for the server') args = parser.parse_args() check = check_server(args.address, args.port) print 'check_server returned %s' % check sys.exit(not check)
測試結果:
[hupeng@hupeng-vm Python]$python check_server.py && echo "SUCCESS"
Attempting to connect to localhost on port 80
Connected to localhost on port 80
check_server returned True
SUCCESS
[hupeng@hupeng-vm Python]$python check_server.py -p 81 && echo "Failure"
Attempting to connect to localhost on port 81
Connection to localhost on port 81 failed: [Errno 111] Connection refused
check_server returned False
[hupeng@hupeng-vm Python]$python check_server.py -p 81 || echo "Failure"
Attempting to connect to localhost on port 81
Connection to localhost on port 81 failed: [Errno 111] Connection refused
check_server returned False
Failure
附:
shell中&&
和||
的使用方法
命令的返回結果:真(返回0),假(返回非0)
command1 && command2: command1返回真時,command2才會被執行
command1 || command2:command1返回真時,command2就不會被執行
更多關于Python相關內容可查看本站專題:《Python Socket編程技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
新聞熱點
疑難解答