我只是想了解如何,但这就是事实
httpClient = new DefaultHttpClient();
工作正常。
但是这个:
HttpParams httpParameters = new BasicHttpParams();
httpClient = new DefaultHttpClient(httpParameters);
返回服务器错误(400)
怎么可能呢?我没有改变任何东西,只是添加了空参数....
我还检查了 httpClient 的字段,但没有看到任何不同的内容
最佳答案
新的 DefaultHttpClient
中包含的 HttpParams
值包含一些基本 header (例如用户代理和协议(protocol)版本),而全新的 BasicHttpParams
code> 完全是空的。
http.protocol.expect-continue=false,
http.protocol.version=HTTP/1.1,
http.protocol.content-charset=ISO-8859-1,
http.useragent=Apache-HttpClient/UNAVAILABLE (java 1.4)
您的服务器可能至少需要其中一些,因此会出现“错误请求”响应。
如果您需要添加自定义参数,您应该从 httpClient.getParams()
开始并从那里构建它们。
关于java - 在android中将HttpParams添加到HttpClient返回服务器错误(400),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23594213/