【问题标题】:Authentication for GET Request in Android HTTP/1.1 406 Not AcceptableAndroid HTTP/1.1 406 中的 GET 请求身份验证不可接受
【发布时间】:2014-01-27 06:22:34
【问题描述】:

我试过了,但是在向 heroku URL 示例“https://xxxx-xxxxx.herokuapp.com/xxxxxx/xxxxxxxx”发出 GET 请求时似乎有问题

我知道一般的方法是

HttpClient client = factory.getHttpClient(); //or any method to get a client instance Credentials credentials = new UsernamePasswordCredentials(username, password); client.getState().setCredentials(AuthScope.ANY, credentials);

而且我知道 getState() 不适用于 3.x 版本。

我不知道 Chrome 的“Advance REST Client”是如何处理它的,它给了我弹出窗口并要求输入用户名和密码,然后我输入了 Credentials 并且它工作正常,从那时起它工作正常。我认为它可能已在本地存储了凭据,但事实并非如此。我检查了所有的 cookie 和缓存。我删除了扩展程序并清除了数据,它仍然有效。

然后我尝试使用 WizTools 的另一个 REST 客户端(适用于 Mac)。在授权部分有 3 个选项。 1.) Basic, 2.) Digest 和 3.) Preemptive,我使用给定的 Credentials 对其进行了一些排列和组合,但它始终给出相同的响应,即

“HTTP/1.1 406 不可接受”

我不明白问题是什么?

谢谢,

【问题讨论】:

    标签: android apache heroku https http-headers


    【解决方案1】:

    我不知道为什么它不起作用,但我使用URLConnecton 使用了提到的身份验证并且它起作用了。我得到了回应。是的,顺便说一句,我必须将“接受”类型分配为“应用程序/Json”

    【讨论】:

    • 这对我有用。补充:request.setHeader("Accept", "application/json");
    猜你喜欢
    • 1970-01-01
    • 2017-07-23
    • 2017-12-30
    • 2014-11-18
    • 2011-12-05
    • 2019-05-05
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多