只是一些启动信息。我正在编写一个Andorid应用程序,它使用MVC平台与使用C#.Net编写的服务器进行通信。每个请求都是一个帖子,ActionFilter属性确保了这一点。但是由于这个问题,.Net将HttpMethod解析为“ST”。
以下是我全局用来从我的应用程序发出Web请求的代码:
private String MakeRequest(String action, String params){
try {
HttpPost request = new HttpPost(mProtocol + mSubDomain + mHost + action);
String args;
if (params != null) {
args = params;
} else {
args = "[]";
}
StringEntity requestEntity;
requestEntity = new StringEntity(args);
requestEntity.setContentType("application/json;charset=UTF-8");
requestEntity.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,"application/json;charset=UTF-8"));
request.setEntity(requestEntity);
HttpResponse response = mHttpClient.execute(request);
HttpEntity responseEntity = response.getEntity();
String jString = EntityUtils.toString(responseEntity);
return jString;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
我只有一个特定方法的问题所有其他方法都可以正常工作。
以下链接指向包含流量的pcap文件,因此它清晰可见。 (我已将其过滤为仅适用的行) http://dl.dropbox.com/u/315661/defect.pcap
答案 0 :(得分:2)
您是否尝试在POST中禁用100-Continue?您通常不需要它,因为它只会增加您与服务器通信的开销 - 如果服务(或设备与服务之间的任何工具包, 会导致问题,例如代理等)你发帖到的并不完全符合。
HttpProtocolParams.setUseExpectContinue(params, false)