用于格式化HTTP响应字节的库

时间:2012-11-03 09:39:06

标签: python http socketserver

我需要一个只能格式化正确HTTP响应的库(不需要创建Web服务器,因为我已经有了这个)。

我必须将http响应和内容类型的主体传递给此库。

如果我尝试发送AJAX,以下函数无法正常工作 - jQuery没有找到任何响应。但是,如果我在浏览器的URL字符串中键入相应的URL,则会显示一个页面。

def response( data ):   
    return "HTTP/1.0 200 OK\r\nContent-Type:application/json\r\nConnection:close\r\n\r\n{0}\r\n".format( data ) 

详细信息即可。数据变量是json的字符串。我也使用SocketServer类,在child的handle()函数中调用self.request.sendall(result_response)。

# the 'request handler' class
class StateRequestHandler( SocketServer.BaseRequestHandler ):

    def handle( self ):
    ...
        self.request.sendall( response( some_json ) )

# the configured server class
class StateServer( SocketServer.ThreadingMixIn, SocketServer.TCPServer ):
pass

解决即可。原因在于跨域请求。

1 个答案:

答案 0 :(得分:1)

尝试以下方法:

  1. 虽然HTTP 1.0和1.1规范说标题名称和标题值之间的空格是可选的,但规范确实说“首选单个SP [ace]”。

  2. 确保您没有任何跨域问题,因此请确保您的HTML页面完全由域,方案和端口作为JSON响应提供(除非您已正确配置CORS。

  3. 使用Chrome开发工具/ Firebug / Fiddler查看他们正在发出的请求并查看Javascript控制台。

  4. 使用Wireshark查看电汇上的确切内容。