Я пытаюсь реализовать симуляцию клиента сервера, используя apache.httpcomponents. Ниже приведен код для клиента
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost("http://localhost:8080");
List <NameValuePair> nvps = new ArrayList <NameValuePair>();
nvps.add(new BasicNameValuePair("productionpart", this.getName()));
nvps.add(new BasicNameValuePair("condition", p.Broken+""));
httpPost.setEntity(new UrlEncodedFormEntity(nvps));
CloseableHttpResponse response2 = httpclient.execute(httpPost);
try {
System.out.println(response2.getStatusLine());
//HttpEntity entity2 = response2.getEntity();
// do something useful with the response body
// and ensure it is fully consumed
//EntityUtils.consume(entity2);
} finally {
response2.close();
}
Этот код работает. Однако я не могу найти способ получения данных о сущности на стороне сервера с помощью apache.httpcomponents. Мне удалось найти код в Интернете, который подтверждает, что сервер получает httprequests
int port = 8080;
ServerSocket serverSocket = new ServerSocket(port);
System.out.println("Server Started and listening to the port 8080");
while(true)
{
//Reading the message from the client
socket = serverSocket.accept();
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String number = br.readLine();
System.out.println("Message received from client is "+number);
OutputStream os = socket.getOutputStream();
Scanner sc=new Scanner(System.in);
String inp=null;
String t="HTTP/1.1 200 OK\r\n";
byte[]s=t.getBytes("UTF-8");
os.write(s);
t="Content-Length: 788\r\n";
s=t.getBytes("UTF-8");
os.write(s);
t="Content-Type: text/html\r\n\r\n";
s=t.getBytes("UTF-8");
os.write(s);
}
Однако я не могу получить доступ к данным объекта, так как он просто выводит длину и тип данных содержимого. Есть ли в любом случае доступ к данным в запросе httppost с сервера?