Java 尝试使用HttpClient访问.Net Web服务
下面是用Java 尝试使用HttpClient访问.Net Web服务,java,c#,.net,httpclient,Java,C#,.net,Httpclient,下面是用.netc#语言为用户获取资源列表的示例 准备带有适当标题详细信息的HttpRequest HttpClient client = new HttpClient(); // Authorization header value format is "VST {tokenvalue}" client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("VST", securityT
.netc#
语言为用户获取资源列表的示例
准备带有适当标题详细信息的HttpRequest
HttpClient client = new HttpClient();
// Authorization header value format is "VST {tokenvalue}"
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("VST", securityToken);
client.DefaultRequestHeaders.Add("ContentType", "text/json");
client.DefaultRequestHeaders.Add("Accept", "text/json");*
需要用Java编写类似的代码,我已经用Java编写了下面的代码来访问web服务
获取错误:
HTTP Error 400.
请求的标头名称无效
HttpGet request = new HttpGet(getRequestUrl(baseUrl, VideologyConstants.GET_CUSTOMERS_API_URL));
request.setHeader(HttpHeaders.AUTHORIZATION, "VST {" + securityToken + "}");
client.DefaultRequestHeaders.Authorization=新的AuthenticationHeaderValue(“VST”,securityToken) 将生成此标题值 授权:VST{securityToken} 在java中添加该头的方法是
httpGet.setHeader("Authorization","VST "+token)
在这里您可以检查java API您是否看到在java中,您的安全头令牌将是VST{token}?在C#中,至少我看不到“{”字符可能是那样?//授权标头值格式是“VST{tokenvalue}”,请尝试调试您的完整请求,因为唯一的标头是那样。这一定是一个小错误。错误:错误请求-无效标头..新的AuthenticationHeaderValue(“VST”,securityToken);-->.NETC#代码。需要在java中编写类似的代码行。请尝试httpGet.setHeader(“VST”,{token});尝试并在HttpGet方法中设置了正确的标头,但得到了相同的错误。.Net C#代码正在使用AuthenticationHeaderValue类设置安全令牌..可能是以不同的方式工作..现在正在工作..感谢acostela HttpGet.setHeader(“授权”,“VST”+令牌);哦,不客气。我将编辑答案,使其符合您的最终解决方案