2014-01-08 71 views
4

我嘗試,但似乎有一個問題,一個GET請求到Heroku的URL例如「https://xxxx-xxxxx.herokuapp.com/xxxxxx/xxxxxxxx驗證對於Android的HTTP GET請求/ 1.1 406無法接受

我知道的一般方法是

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(Mac)來使用另一個REST Client。在授權部分有3個選項。 1.)基本,2.)摘要和3.)搶先,我做了一些排列和組合與它使用給定的憑據,但始終給它相同的響應,即

「HTTP/1.1 406不可接受」

我不明白是什麼問題?

感謝,

回答

5

我不知道,如果它爲什麼不工作,但我用URLConnecton用提到的認證和它的工作。我得到了答覆。順便說一句,我必須分配「接受」類型的「應用程序/ JSON」

+2

這工作對我來說。添加:request.setHeader(「Accept」,「application/json」); – JustinMorris