java - 尝试使用 HttpClient 访问.Net Web服务

标签 java c# .net httpclient

下面是.NET C#语言为用户获取资源列表的示例

使用正确的 header 详细信息准备 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编写了以下代码来访问网络服务。

出现错误:

HTTP Error 400. 

请求的 header 名称无效。

HttpGet request = new HttpGet(getRequestUrl(baseUrl,   VideologyConstants.GET_CUSTOMERS_API_URL));
request.setHeader(HttpHeaders.AUTHORIZATION, "VST {" + securityToken + "}");

最佳答案

client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("VST", securityToken);

将生成此 header 值

授权:VST {securityToken}

在 java 中添加该 header 的方法是。

httpGet.setHeader("Authorization","VST "+token)

这里可以查看java API http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/index.html

关于java - 尝试使用 HttpClient 访问.Net Web服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32992270/

相关文章:

c# - 从 C# 中以编程方式创建的 TextBox 中获取值

c# - 在单元格的右下角添加标签

c# - 正则表达式匹配以逗号分隔的列表,末尾没有逗号

java - 尝试在 Java6 中获取 Unix 文件权限时出错

java - Spring 批处理3.0.3 : How to set custom params for JdbcPagingItemReader query?

c# - 如何使用 mvvm 禁用文本 block ?

.net - Ruby 使用 native 工具包进行跨平台开发的可行性?

java - 恢复视野的秘诀

java - 为什么这不可序列化?

.net - 我应该仅出于记录目的而重写 ToString 吗?