java - OData - 在 Chrome 中查询很好,用 Java 调用 400
问题描述
我有多年来运行良好的单元测试代码。并且对于除此之外的每个 OData 查询,它都可以继续正常运行。但突然,网址:
http://services.odata.org/V2/Northwind/Northwind.svc/Employees ?$select=FirstName&$filter=(BirthDate%20eq%20datetime'1952-02-19T00:00:00Z')
正在返回 400。我调用它的代码是:
String url = "http://services.odata.org/V2/Northwind/Northwind.svc/Employees?$select=FirstName&$filter=(BirthDate%20eq%20datetime'1952-02-19T00:00:00Z')";
String requestParams = "http.header.Accept=application/json;";
// ...
HttpGet httpGet = new HttpGet(NetUtils.encodeUri(url));
setHeader(httpGet, url, requestParams);
response = httpClient.execute(httpGet);
if (response.getStatusLine().getStatusCode() != 200)
throw new IOException("Error: " + response.getStatusLine() + ". Reading url " + url);
怎么突然变成400了?并且只有从 Java 调用时,才能在 Chrome 中正常工作。