Android HTTP/1.1中的GET请求的身份验证406不可接受

Ami*_*ngh 4 apache https android heroku http-headers

我尝试了但是在向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的"高级REST客户端"是如何处理它的,它给了我弹出窗口并询问用户名和密码,我输入了凭证,它起作用,从那时起它工作正常.我认为它可能在本地存储了凭证,但事实并非如此.我检查了所有的cookie和缓存.我删除了扩展名并清除了数据,但仍然有效.

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

"HTTP/1.1 406不可接受"

我不明白问题是什么?

谢谢,

Ami*_*ngh 5

我不知道,如果它为什么不起作用,但我使用URLConnecton使用了提到的身份验证并且它有效.我得到了答复.是的BTW我不得不将"Accept"类型指定为"Application/Json"

  • 这对我有用.添加:request.setHeader("Accept","application/json"); (2认同)