练习了下socket测试端口,目前采用了ulipad编写,其中打印中文时遇到错误:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)。
上网查询资料,解决方法
s=u"中文"
print s.encode('gb2312')
#coding=utf-8
import socket
import time
import thread
socket.setdefaulttimeout(9)
def socketTest(port,ip):
try:
if int(port) > 65536:
print u'端口不正确,需小于65535'.encode('gb2312')
else:
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
result = s.connect_ex(ip,port)
if result == 0:
print ip,':',port,u'端口开放'.encode('gb2312')
s.close()
except:
print u'扫描端口异常!'.encode('gb2312')
if __name__ == '__main__':
socketTest('338889','127.0.0.1')