如何使用ApacheHttpComponents从Java套接字获取HTTPRequest
我的简单服务器有一个监听端口并接受套接字的如何使用ApacheHttpComponents从Java套接字获取HTTPRequest,java,sockets,http,apache-httpcomponents,Java,Sockets,Http,Apache Httpcomponents,我的简单服务器有一个监听端口并接受套接字的ServerSocket对象 Socket socket = serverSocket.accept(); 一旦我有了这个套接字,我如何将它转换成一个HttpRequest对象,这样我就可以,例如,轻松地确定套接字正在寻找的域?我的朋友,你必须从套接字读取数据,解析它,并确定它是否符合http协议,然后创建HttpRequest,你可以转发给任何需要它的人。这已经在jetty或tomcat等服务器上为您完成了我的朋友,您必须从套接字读取数据,解析它,确
ServerSocket
对象
Socket socket = serverSocket.accept();
一旦我有了这个套接字,我如何将它转换成一个
HttpRequest
对象,这样我就可以,例如,轻松地确定套接字正在寻找的域?我的朋友,你必须从套接字读取数据,解析它,并确定它是否符合http协议,然后创建HttpRequest,你可以转发给任何需要它的人。这已经在jetty或tomcat等服务器上为您完成了我的朋友,您必须从套接字读取数据,解析它,确定它是否符合http协议,然后创建httprequest,您可以将它转发给需要它的人。这已经在jetty或tomcat等服务器上为您完成了我的朋友,您必须从套接字读取数据,解析它,确定它是否符合http协议,然后创建httprequest,您可以将它转发给需要它的人。这已经在jetty或tomcat等服务器上为您完成了我的朋友,您必须从套接字读取数据,解析它,确定它是否符合http协议,然后创建httprequest,您可以将它转发给需要它的人。这已经在jetty或tomcat等服务器中为您完成了,套接字位于网络堆栈的一个完全不同于http请求的层上。
因此,您不能将套接字“转换”为http请求。
请参见->套接字在第4层运行,http请求将在第7层运行
套接字是处理网络通信的工具。这不一定是http,但可以是任何内容(例如ftp或专有协议)。
套接字只会给您一个数据流,您必须进行解释
我建议您在Web服务器上使用类似ApacheHTTP组件()的东西。有许多框架和库可以满足您的需要,而不是自己实现。套接字位于与http请求完全不同的网络堆栈层上。 因此,您不能将套接字“转换”为http请求。 请参见->套接字在第4层运行,http请求将在第7层运行 套接字是处理网络通信的工具。这不一定是http,但可以是任何内容(例如ftp或专有协议)。 套接字只会给您一个数据流,您必须进行解释
我建议您在Web服务器上使用类似ApacheHTTP组件()的东西。有许多框架和库可以满足您的需要,而不是自己实现。套接字位于与http请求完全不同的网络堆栈层上。 因此,您不能将套接字“转换”为http请求。 请参见->套接字在第4层运行,http请求将在第7层运行 套接字是处理网络通信的工具。这不一定是http,但可以是任何内容(例如ftp或专有协议)。 套接字只会给您一个数据流,您必须进行解释
我建议您在Web服务器上使用类似ApacheHTTP组件()的东西。有许多框架和库可以满足您的需要,而不是自己实现。套接字位于与http请求完全不同的网络堆栈层上。 因此,您不能将套接字“转换”为http请求。 请参见->套接字在第4层运行,http请求将在第7层运行 套接字是处理网络通信的工具。这不一定是http,但可以是任何内容(例如ftp或专有协议)。 套接字只会给您一个数据流,您必须进行解释
我建议您在Web服务器上使用类似ApacheHTTP组件()的东西。有很多框架和库可以满足您的需要,而不是自己实现。我找到了一种可行的方法:
Socket serverSoc = srvSocket.accept();
DefaultHttpServerConnection serverConn = null;
try {
HttpParams params = new BasicHttpParams();
serverConn = new DefaultHttpServerConnection();
serverConn.bind(serverSoc, params);
HttpRequest request = serverConn.receiveRequestHeader();
}
我找到了一种有效的方法:
Socket serverSoc = srvSocket.accept();
DefaultHttpServerConnection serverConn = null;
try {
HttpParams params = new BasicHttpParams();
serverConn = new DefaultHttpServerConnection();
serverConn.bind(serverSoc, params);
HttpRequest request = serverConn.receiveRequestHeader();
}
我找到了一种有效的方法:
Socket serverSoc = srvSocket.accept();
DefaultHttpServerConnection serverConn = null;
try {
HttpParams params = new BasicHttpParams();
serverConn = new DefaultHttpServerConnection();
serverConn.bind(serverSoc, params);
HttpRequest request = serverConn.receiveRequestHeader();
}
我找到了一种有效的方法:
Socket serverSoc = srvSocket.accept();
DefaultHttpServerConnection serverConn = null;
try {
HttpParams params = new BasicHttpParams();
serverConn = new DefaultHttpServerConnection();
serverConn.bind(serverSoc, params);
HttpRequest request = serverConn.receiveRequestHeader();
}
考虑使用JETY或其他嵌入式HTTP服务器来处理HTTP协议。我将使用Spring Bug作为基于HTTP的服务器,这使得设置REST控制器非常简单。考虑使用JETY或其他嵌入式HTTP服务器来处理HTTP协议。这使得设置REST控制器非常简单。考虑使用JETY或其他嵌入式HTTP服务器来处理HTTP协议。这使得设置REST控制器非常简单。考虑使用JETY或其他嵌入式HTTP服务器来处理HTTP协议。我将使用Spring Bug作为基于HTTP的服务器,这使得设置REST控制器非常简单。我更新了我的问题…你知道如何使用
HttpComponents
?我更新了我的问题。。。你知道如何使用HttpComponents
?我更新了我的问题。。。你知道如何使用HttpComponents
?我更新了我的问题。。。您知道如何使用HttpComponents
?