2012-06-18 543 views
1

我正在嘗試向通過heroku託管的Neo4j實例發出REST請求。服務器使用基本身份驗證進行設置。RestSharp重定向和身份驗證401

這是我從Heroku的提供的網址(通知後面的斜線):http://username:[email protected]:123/db/data/

我使用RestSharp連接到該實例。但是,RestSharp將刪除最後一個斜槓。 Code。結果URL變爲:http://username:[email protected]:123/db/data

這導致HTTP 301至(通知後面的斜線):http://username:[email protected]:123/db/data/

的問題是,授權頭不會保持跨越重定向MSDN。此重定向結果爲HTTP 401

有沒有什麼明顯的解決辦法呢?我已經試過如下:

  • 提供2結尾的斜槓/db/data//所以RestSharp只取出一個斜槓,但剩下一個。這不起作用,因爲其他請求具有無效格式:/db/data//query/stuff
  • 使用CredentialCache類。這可行,但結果在每個動作2個請求(一個用於401挑戰,另一個用於響應)
  • IAuthenticationModlue - 在MSDN中找到最少的信息,但在嘗試自定義類後,仍然會導致雙跳問題前面提到過。
  • 更改初始休息請求爲new RestRequest("/", Method.GET);而不是new RestRequest("", Method.GET); - 唯一的問題是我不想修改位於我的應用程序和RestSharp之間的開放源代碼項目,以滿足我的特定需求。 RestSharp刪除所有的結局在谷歌集團斜線

回答