login.py
来自「调试程序写的驱动」· Python 代码 · 共 134 行
PY
134 行
#!/usr/bin/pythonimport socket, sys , struct , timeif __name__ == '__main__': argv = sys.argv if (len(argv)!=4) or (len(argv)==2 and argv[1]=='/?'): print '>>>Useage:', argv[0], '<address> <port> <msisdn>' sys.exit(0)HOST = argv[1] #Server IP地址PORT = int(argv[2]) #Server 端口msisdn = argv[3]print '>>>HOST:', HOSTprint '>>>PORT:', PORTprint '>>>msisdn:', msisdn#打开sockettry: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)except socket.error: print '>>>Fail to open socket!' sys.exit(1)print '>>>Socket opened...'#连接try: sock.connect((HOST, PORT))except socket.error: print '>>>Fail to connect!' sock.close() print '>>>Socket closed...' sys.exit(1)print '>>>Socket connected...'#compose msgmsgbody = '<Req><msisdn>'+ msisdn +'</msisdn><pwd>111222</pwd><ua/><ver/><metaid/></Req>'''format = '=HIHII'+str(len(msgbody))+'s'msg = struct.pack(format , socket.htons(1), socket.htonl(16+len(msgbody)) , socket.htons(1), socket.htonl(1), socket.htonl(1), msgbody)list = struct.unpack(format, msg)print list#发送信息try: sock.send(msg)except socket.error: print '>>>Fail to send message!' sys.exit(1)print '>>>Message sent :', msg#接收信息try: msg = sock.recv(1024)except socket.error: print '>>>Fail to receive message!' sys.exit(1)print '>>>Message received:', repr(msg)while(1): format = '=HIHII' msg = struct.pack(format , socket.htons(1) , socket.htonl(16) , socket.htons(9), socket.htonl(1), socket.htonl(1)) try: sock.send(msg) except socket.error: print '>>>Fail to send message!' sys.exit(1) #print '>>>Message sent :', msg #try: # msg = sock.recv(1024) #except socket.error: # print '>>>Fail to receive message!' # sys.exit(1) #print '>>>Message received:', msg time.sleep(5) #关闭socket,退出程序sock.close()print '>>>Socket closed...'print 'Exit client program.'sys.exit(0)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?