我想通过unix套接字连接到我的测试fcgi应用程序。服务器非常简单,从烧瓶文档中获取http://flask.pocoo.org/docs/0.10/deploying/fastcgi/flup和socket连接
客户端代码是我的。我希望通过socket.send
发送示例HTTP请求,并接收带有“Hello World”的HTTP响应。问题是客户端挂在s.recv(1024)
并没有任何反应。
服务器代码:
def myapp(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return ['Hello World!\n']
if __name__ == '__main__':
from flup.server.fcgi import WSGIServer
WSGIServer(myapp, bindAddress="fcgi.sock").run()
客户端代码:
# -*- coding: utf-8 -*-
import socket
req = """GET/HTTP/1.1
Host: localhost\r\n\r\n"""
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
s.settimeout(1.0)
s.connect("fcgi.sock")
s.send(req)
data = s.recv(1024)
s.close()
print('Received ' + repr(data))
我测试,以打通nginx的反应,和它的工作很好,但使用套接字我可以不执行此操作。有谁知道我的客户端代码有什么问题?