Python Twisted-如何向internet公开协议,以便通过HTTP POST调用它?

Python Twisted-如何向internet公开协议,以便通过HTTP POST调用它?,python,twisted,twisted.web,Python,Twisted,Twisted.web,因此,协议允许异步功能,但仅限于TCP级别 from twisted.internet import reactor, protocol, endpoints class UpperProtocol( protocol.Protocol ): def connectionMade( self ): self.transport.write( "Convet to Uppercase !\n" ) def connectionLost( self, reason

因此,协议允许异步功能,但仅限于TCP级别

from twisted.internet import reactor, protocol, endpoints

class UpperProtocol( protocol.Protocol ):
    def connectionMade( self ):
        self.transport.write( "Convet to Uppercase !\n" )

    def connectionLost( self, reason ):
        pass

    def dataReceived( self, data ):
        self.transport.write( data.upper() )
        self.transport.loseConnection()


factory = protocol.ServerFactory()
factory.protocol = UpperProtocol

#reactor.listenTCP( 8000, factory )
endpoints.serverFromString( reactor, "tcp:8000" ).listen( factory )
reactor.run()
我可以通过以下方式进行POST请求:

from twisted.internet import reactor, endpoints
from twisted.web.resource import Resource
from twisted.web.server import Site
import intent

import cgi

class UpperCaller(Resource):
    def render_POST(self, request):
        text            = request.args[ "text" ][ 0 ]
        response        = text.upper()
        return cgi.escape( response )

root = Resource()
root.putChild( "upper", UpperCaller() )
factory  = Site( root )
endpoint = endpoints.TCP4ServerEndpoint( reactor, 8880 )
endpoint.listen( factory )
reactor.run()
当post请求到达时,如何调用要使用的协议? 如果通过POST服务器完成,它将不像Telnet的协议调用那样是异步的


我怎样才能通过电话留言让它工作?我想让它成为一个API调用,在这里我传递文本,它通过调用协议返回输出。

POST作为HTTP POST请求?为此,您可以使用一些HTTP框架,它可以将请求路由到特定的URL到您的代码。或者创建一个由web服务器执行的CGI程序。是的HTTP POST,你能解释并建议一些选项吗?你想通过HTTP POST发明自己的可靠、有序、面向流的传输吗?为什么?