我对IIS 7.5服务器进行RESTful POST,但它看不到正文:
HttpClient httpclient = new DefaultHttpClient();
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String response = "";
HttpPost httppost = new HttpPost(request.getHost());
for(@SuppressWarnings("rawtypes") Header header : request.getHeaders()){
httppost.setHeader(header.getKey(), header.getValue());
}
if(requestBody.length()>0){
// append the body data to the post
StringBuilder sb = new StringBuilder();
sb.append(requestBody);
StringEntity stringentity = new StringEntity(sb.toString(), HTTP.UTF_8);
httppost.setEntity(stringentity);
}
// hit the server
response = httpclient.execute(httppost, responseHandler);
// clean up
httppost = null;
return response;
它可以看到标题,但永远无法看到正文实体。
requestBody
只是一个简单的字符串。
使用完全相同的代码,正文和标题,并将此POST指向运行IIS 6.0或Apache Tomcat 7的另一台服务器,两者都可以查看并提取标题和正文而不会出现问题。
什么是IIS 7.5寻找它无法看到身体?我需要以不同的方式制作帖子吗?
参考:
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.protocol.HTTP;
相关文章: 在MSDN上,我在IIS方面工作的对手有posted his WCF code。