无法输出到控制台“ POST”请求正文
HttpClient client= HttpClientBuilder.create().build();
HttpPost request=new HttpPost("https://reqres.in/api/register");
List<NameValuePair> params= new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("email","eve.holt@reqres.in"));
params.add(new BasicNameValuePair("password","pistol"));
request.setEntity(new UrlEncodedFormEntity(params));
HttpResponse response = client.execute(request);
我想查看请求的正文(电子邮件,密码)。
我尝试过 System.out.println(request.getEntity()) 但这并不完全相同
答案 0 :(得分:0)
Apache httpclient以HttpPost
的形式创建一个模型,这不是原始请求。当您execute()
时,它会在内部转换为HTTP有效负载并进行处理,然后再次将响应作为建模对象显示给您。
您可以使用Wire logger:org.apache.http.wire
记录请求和响应。这里的更多信息:https://hc.apache.org/httpcomponents-client-4.5.x/logging.html。
原始数据似乎在org.apache.commons.httpclient.HttpConnection
中可用,但是您必须重写httpclient的相当多组件才能将其获取。