gpt4 book ai didi

java - Apache HttpClient 未收到完整响应

转载 作者:行者123 更新时间:2023-12-01 11:21:06 25 4
gpt4 key购买 nike

更新:如果我使用System.out.println(EntityUtils.toString(response.getEntity()));输出似乎是缺失的行HTML(包括结束 bodyhtml 标记)。但是,打印到文件仍然只给出前 2000 行奇数行,缺少最后 1000 行。

<小时/>

我使用以下代码来执行 http post 请求:

public static String Post(CloseableHttpClient httpClient, String url, Header[] headers,
List<NameValuePair> data, HttpClientContext context) throws IOException
{
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new UrlEncodedFormEntity(data));
httpPost.setHeaders(headers);
CloseableHttpResponse response = httpClient.execute(httpPost, context);

if (response.getEntity() == null)
throw new NullPointerException("Unable to get html for: " + url);

// Get the data then close the response object
String responseData = EntityUtils.toString(response.getEntity());
EntityUtils.consume(response.getEntity());
response.close();

return responseData;
}

但是我没有收到完整的响应实体。我丢失了大约 1000 行 html(包括结束 bodyhtml 标记。我认为这是因为数据是以 block 的形式发送的,尽管我不是完全确定。

以下是响应 header :

Cache-Control:max-age=0, no-cache, no-store
Connection:Transfer-Encoding
Connection:keep-alive
Content-Encoding:gzip
Content-Type:text/html; charset=utf-8
Date:Sat, 04 Jul 2015 15:14:58 GMT
Expires:Sat, 04 Jul 2015 15:14:58 GMT
Pragma:no-cache
Server:Microsoft-IIS/7.5
Transfer-Encoding:chunked
Vary:User-Agent
Vary:Accept-Encoding
X-Content-Type-Options:nosniff
X-Frame-Options:SAMEORIGIN

如何确保收到完整的响应实体?

最佳答案

收集所有评论的精华。这里的代码没有任何问题 - 使用 EntityUtils 是处理各种响应的推荐方法。存储文件响应的代码有错误。

关于java - Apache HttpClient 未收到完整响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31222385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com