python问题ConnectionError: [Errno 10061]

lanyfan 2015-02-03 03:25:44
刚接触python和tornado,从github下载的代码,一直提示一行的错误,源代码如下:
# # coding=utf-8
# __author__ = 'fang'
import datetime
import simplejson as json
import hashlib
import tornado.web
import tornado.escape
import tornadoredis
from common.common import addlog, mysql


allow_url = ['/', '/login', '/register']

class BaseHandler(tornado.web.RequestHandler):
def initialize(self):
self.redis = tornadoredis.Client()
self.redis.connect()

def prepare(self):
#get ip
self.ip = self.request.remote_ip

#权限控制
path = self.request.uri
is_redirect = True

if not self.current_user:
for i in allow_url:
if path.startswith(i):
is_redirect = False
break

else:
is_redirect = False

if is_redirect:
self.redirect('/login')

def write_error(self, status_code, **kwargs):
#重写自定义错误页面
if status_code == 400:
error = "400: Bad Request"
self.render('error.html', error=error)
if status_code == 405:
error = "405: Method Not Allowed"
self.render('error.html', error=error)
if status_code == 404:
error = "404: Page Not Found"
self.render('error.html', error=error)



@addlog
def get(self, *args, **kwargs):
pass

@addlog
def post(self, *args, **kwargs):
pass

def get_current_user(self):
return self.get_secure_cookie('user')

def user_type(self):
pass


class Home(BaseHandler):
# @tornado.web.authenticated
def get(self, *args, **kwargs):
if not self.get_secure_cookie('uid'):
self.set_secure_cookie('uid', self.ip,expires_days=1)

name = None
if self.current_user:
name = tornado.escape.xhtml_escape(self.current_user)
self.render('index.html', name= name)

#login
class LoginHandler(BaseHandler):
def get(self, *args, **kwargs):
next = self.get_argument('next', '')
if next:
self.set_cookie('next', next)
self.render('login.html', err_msg='')

def post(self, *args, **kwargs):
name = self.get_argument('name')
pwd = self.get_argument('pwd')
if name and pwd:
pwd = hashlib.new('md5', pwd).hexdigest()
column = ('id', 'login_count')
sql = "select id,login_count from user where username='%s' and password='%s'" %(name, pwd)
result = mysql(sql, 1, column).run
if result:
self.set_secure_cookie('user', name)
sql = "update user set last_login='%s', login_count=%s where id=%s" %(
datetime.datetime.now(),
result['login_count']+1,
result['id']
)
mysql(sql, 2)
#写入redis
next = self.get_cookie('next', '/')
self.redirect(str(next))
err_msg = u'账号密码错误'
self.render('login.html', err_msg=err_msg)

#logout
class LogoutHandler(BaseHandler):
@tornado.web.asynchronous # 加入异步装饰器的请求就不会被等待阻塞,可以并发请求了
def get(self, *args, **kwargs):
self.clear_cookie('user') # 清除用户cookie
#self.db.redis.rpop('save_name')
self.redirect('/')



#注册
class Register(BaseHandler):
def get(self, *args, **kwargs):
self.render('register.html', msg='')

def post(self, *args, **kwargs):
username = self.get_argument('us', None)
pwd = self.get_argument('pwd', None)
pwd2 = self.get_argument('pwd2', None)
code = self.get_argument('code', None)
msg = ''
if username and pwd and pwd2:
sql = "select id from user where username like '%s'" % ('%'+username+'%')
status = mysql(sql,1,('id')).run
if status:
msg = u'该用户名已被注册<br>'
if pwd != pwd2:
msg = u'密码不一致<br>'

else:
msg = u'请补全信息'
if msg:
self.render('register.html', msg=msg)
else:
import datetime
print 'aaaaaaa', username
hash_pwd = hashlib.new("md5", pwd).hexdigest()
sql = """insert into user(username, password, add_time) values ('%s', '%s', '%s')""" %(
username, hash_pwd, datetime.datetime.now().strftime('%Y-%m-%d')
)
mysql(sql, 2).run
self.redirect('/login')

错误提示为:
[E 150203 15:14:35 http1connection:53] Uncaught exception
Traceback (most recent call last):
File "E:\python\lib\site-packages\tornado-4.0.2-py2.7-win32.egg\tornado\http1connection.py", line 234, in _read_message
delegate.finish()
File "E:\python\lib\site-packages\tornado-4.0.2-py2.7-win32.egg\tornado\httpserver.py", line 282, in finish
self.delegate.finish()
File "E:\python\lib\site-packages\tornado-4.0.2-py2.7-win32.egg\tornado\web.py", line 1884, in finish
self.execute()
File "E:\python\lib\site-packages\tornado-4.0.2-py2.7-win32.egg\tornado\web.py", line 1904, in execute
**self.handler_kwargs)
File "E:\python\lib\site-packages\tornado-4.0.2-py2.7-win32.egg\tornado\web.py", line 180, in __init__
self.initialize(**kwargs)
File "E:\jee workplace\res\src\handlers\web.py", line 17, in initialize
self.redis.connect()
File "E:\python\lib\site-packages\tornadoredis\client.py", line 333, in connect
self.connection.connect()
File "E:\python\lib\site-packages\tornadoredis\connection.py", line 79, in connect
raise ConnectionError(str(e))
ConnectionError: [Errno 10061]
希望各位不吝赐教。。。。

...全文
651 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
DarkChampion 2015-02-03
  • 打赏
  • 举报
回复
10061 因为目标主机主动拒绝,连接不能建立 检查一下你的目标主机
lanyfan 2015-02-03
  • 打赏
  • 举报
回复
引用 1 楼 Worcy_kiddy 的回复:
你安装tornado了么?
当然安装了啊
黑泡泡选手 2015-02-03
  • 打赏
  • 举报
回复
你安装tornado了么?

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧