日期:2014-05-20  浏览次数:20890 次

用java.net去post一个请求,但是返回的数据太大,如何完整接受?
如题...用java.net.connection去post一个请求,但是返回的数据太大,如何完整接收?

用wireshark抓出来的是这种数据包...第一个便是post请求....接下来的都好像是返回数据...怎样完整接收啊?


我用的是getinputstream(),但是好像不完整的?怎么办?

------解决方案--------------------
给你一个我们项目中获取一个post请求的实例吧。你参考下:

/**
 * a http request with given url
 * 
 * @param strUrl
 *            the url you want to request
 * @return
 */
public static String request(String strUrl) {
strUrl = QuhaoConstant.HTTP_URL + strUrl;
URL url = null;
String result = "";
HttpURLConnection urlConn = null;
InputStreamReader in = null;
try {
url = new URL(strUrl);
urlConn = (HttpURLConnection) url.openConnection();
urlConn.setConnectTimeout(1000 * 20);
in = new InputStreamReader(urlConn.getInputStream());
BufferedReader br = new BufferedReader(in);

String readerLine = null;
while ((readerLine = br.readLine()) != null) {
result += readerLine;
}
in.close();
urlConn.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
urlConn.disconnect();
}
return result;
}