私は現在、投稿リクエストを送信し、対応する応答を処理するために、Android アプリケーションを開発しています。
投稿リクエストを対応する URL にヒットさせることはできますが、レスポンスを取得しようとすると、HTML コンテンツの半分に続いて「*Couldn't read CGI input from STDIN.AFTER ALLOC_READ 0*」が表示されます。
誰でもこの問題を解決するのを手伝ってくれませんか。
ここにコードスニペットがあります
private void processRequest(String... params){
HttpPost post = new HttpPost("http://www.xyz.com");
HttpParams httpParams = post.getParams();
pnr = params[i];
httpParams.setParameter("param1", params[i]);
//User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1
httpParams.setParameter(CoreProtocolPNames.USER_AGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1");
post.setParams(httpParams);
HttpClient client = new DefaultHttpClient();
try {
HttpResponse response = client.execute(post);
HttpEntity entity = response.getEntity();
try {
processHtmlString(pnr, inputStreamToString(entity.getContent()).toString());
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally{
client.getConnectionManager().shutdown();
}
}
private String processHtmlString(String pnr, String htmlString) throws Exception{
int index = 0;
while(index < htmlString.length()){
int endIndex = (index + 3000) < (htmlString.length()) ? (index + 3000) : htmlString.length();
Log.i("HttpHelper1","HTML1 : "+htmlString.substring(index, endIndex));
index += 3000;
}
}
そして、出力は ....Couldn't read CGI input from STDIN.AFTER ALLOC_READ 0 です