HTTP Header 的 InputStream 不终止
InputStream for HTTP Header does not terminate
我正在尝试使用输入流从客户端读取 http header,但它似乎没有终止。不知道这样读请求有没有问题。我希望它适用于 GET 和 POST 请求。这是我的代码
private static byte[] readClientRequest(byte[] clientRequest, InputStream fromClient) throws IOException{
int bytesRead;
ByteArrayOutputStream clientByteArray = new ByteArrayOutputStream();
while((bytesRead = fromClient.read()) != -1) {
clientByteArray.write(bytesRead);
}
clientByteArray.flush();
clientRequest = clientByteArray.toByteArray();
return clientRequest;
}
非常感谢。
一般网络socket是不知道末端在哪里的。它可能是特定于应用程序协议的。对于 HTTP,您可以读取一个 header 行直到行尾 (bytesRead != '\n')。然后你应该使用 available
方法来检查是否有下一部分数据。
我正在尝试使用输入流从客户端读取 http header,但它似乎没有终止。不知道这样读请求有没有问题。我希望它适用于 GET 和 POST 请求。这是我的代码
private static byte[] readClientRequest(byte[] clientRequest, InputStream fromClient) throws IOException{
int bytesRead;
ByteArrayOutputStream clientByteArray = new ByteArrayOutputStream();
while((bytesRead = fromClient.read()) != -1) {
clientByteArray.write(bytesRead);
}
clientByteArray.flush();
clientRequest = clientByteArray.toByteArray();
return clientRequest;
}
非常感谢。
一般网络socket是不知道末端在哪里的。它可能是特定于应用程序协议的。对于 HTTP,您可以读取一个 header 行直到行尾 (bytesRead != '\n')。然后你应该使用 available
方法来检查是否有下一部分数据。