获取完整的HTTP请求

德利森·六月:

对于调试问题,当显示一组选项时,我希望由Unirest-Java执行该请求。我怎么能得到这个:

POST / HTTP/1.1
Host: www.some.host.tld
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
field1=FIELD1&field2=FIELD2

由此:

HttpRequest request = Unirest.post(SOMEHOST_URL)
            .field("field1" , FIELD1)
            .field("field2", FIELD2)
            .getHttpRequest();

也就是说,如何从中获取完整的HTTP请求HttpRequest我真的不知道要使用哪个代理,因为我唯一可以使用SSL支持的代理是Charles,由于某种原因,它不会占用Java流量。其他工具会阻塞SSL,主要是因为我需要与之交谈的服务器存在缺陷,使用了自签名证书和无效的主机名。因此,我很乐意尝试使用代理,但它必须在这些条件下工作。最好是从Unirest/ HTTPClient本身提取此信息我已经尝试构建HttpClientwith,.setInterceptorFirst(但是我无法从拦截器中获取请求主体,仅从其中的一些标头中获取。

沃尔科夫斯:

我从未使用过Unirest,但是它使用了Apache HTTP客户端4,因此在org.apache.http上设置调试级别记录器应该可以为您提供所有已传输的数据,包括标题和内容。

请在https://hc.apache.org/httpcomponents-client-4.3.x/logging.html上查看如何执行此操作,具体取决于您使用的日志系统

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章