3
http POSTのいくつかの変数に基づいて、Webサーバーからいくつかのhtmlを取得する小さなアプリケーションを作成しています。返されるHTMLデータには、改行文字とタブ文字を使用してうまく配置されている単語が含まれていますが、私のアプリケーションはそれを受け取らないため、その部分に<pre>
セクションがあります。私はそれが私がでラインで読んでいたので、それがかもしれないと思った私はそうApache HTTPClientが改行文字を処理しない
private StringBuilder inputStreamToString(InputStream is) throws IOException {
int c;
StringBuilder total = new StringBuilder();
// Wrap a BufferedReader around the InputStream
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
// Read response until the endIndex
while ((c = rd.read()) != -1) {
total.append((char)c);
}
// Return full string
return total;
}
ようにBufferedReaderのを通してそれを置くことによって、応答を読んでいますかかもしれないと思う
HttpPost post = new HttpPost("REMOVED FOR PRIVACY");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
//REMOVED FOR PRIVACY
post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpClient.execute(post, httpContext);
String htmlBrief = inputStreamToString(response.getEntity().getContent()).toString();
return htmlBrief;
}
を次のようにコードがあります私は一度に1文字に切り替えましたが、それは問題を助けませんでした。
ご協力いただければ幸いです。実際にHTTP要求本体に送られるものを検査する
おかげで、ベン
rd.readLine()を試しましたか?なぜBufferedReaderを使用してバッファリングを利用しないのですか? – pawelzieba
はい、私は行を読んでみました。私はreadlineが私の新しい行の文字を失っていた理由だと思ったので、ちょうど読むように切り替えました。 –
入力ストリームをラップして、ストリーム内に正確に何が入っているかを調べます。 – pawelzieba