Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用于格式化HTTP响应字节的库_Python_Http_Socketserver - Fatal编程技术网

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

Python 用于格式化HTTP响应字节的库,python,http,socketserver,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

我需要一个只能格式化正确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\u 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
已解决。原因是跨域请求。

请尝试以下操作:

  • 尽管HTTP 1.0和1.1规范指出在头名称和头值之间可以选择空白,但规范确实指出“首选单个SP[ace]

  • 确保您没有任何跨域问题,因此确保您的HTML页面作为JSON响应完全从域、方案和端口提供(除非您正确配置了CORS)

  • 使用chromedevtools/Firebug/Fiddler查看他们发出的请求,并检查Javascript控制台

  • 使用Wireshark可以准确查看导线上的内容


  • 是的,我没有提到域名可能不同。谢谢!