Cloud9 Python XMLRPC 服务器 302 重定向
我正在使用Python和Cloud9,想要搭建一个简单的XMLRPC服务器。如果我在本地运行这个,没什么问题。但在Cloud9上,我遇到了一个错误,提示“协议错误302,临时移动”。
有没有什么想法?
服务器的代码是:
from SimpleXMLRPCServer import SimpleXMLRPCServer
import logging
import os
ip = os.getenv("IP", "0.0.0.0")
port = int(os.getenv("PORT", 8080))
logging.basicConfig(level=logging.DEBUG)
server = SimpleXMLRPCServer((ip, port), logRequests=True)
def list_contents(dir_name):
logging.debug('list_contents(%s)', dir_name)
return dir_name
server.register_function(list_contents)
try:
print 'Use Control-C to exit'
server.serve_forever()
except KeyboardInterrupt:
print 'Exiting'
客户端的代码是:
import xmlrpclib
url = "https://xxxxx.c9.io/"
srv = xmlrpclib.ServerProxy(url, verbose=True)
print srv.list_contents("asdf")
1 个回答
4
302响应通常是把你重定向到一个需要登录的页面,以检查你是否有权限访问这个应用。如果你把工作区设置成私密的(也就是不允许未登录的用户访问),那么你每次请求都会得到这个响应。
你可以选择把它公开分享(点击分享 -> 点击“应用”让它变成公开的),或者在客户端请求的URL中提供用户名和密码:
url = "https://username:password@workspace-c9-user.c9.io/"