herokuを介してホストされているNeo4jインスタンスにRESTリクエストを送信しようとしています。サーバーは基本認証でセットアップされています。
これは、Herokuから提供されたURLです(末尾のスラッシュに注意してください):http:// username:password@instance.hosted.neo4j.org:123 / db / data /
このインスタンスに接続するためにRestSharpを使用しています。ただし、RestSharpは末尾のスラッシュを削除します。コード。結果のURLは次のようになります:http:// username:password@instance.hosted.neo4j.org:123 / db / data
これにより、HTTP 301
to(末尾のスラッシュに注意)が生成されます:http:// username:password@instance.hosted.neo4j.org:123 / db / data /
問題は、承認ヘッダーがリダイレクトMSDN間で永続化されないことです。このリダイレクトの結果はHTTP 401
。
これを回避する明白な方法はありますか?私は次のことを試しました:
/db/data//
RestSharpが1つのスラッシュのみを削除し、残りの1つを残すように、末尾に2つのスラッシュを指定します。他のリクエストの形式が無効であるため、これは機能しません。/db/data//query/stuff
CredentialCache
クラスを使用します。これは機能しますが、アクションごとに2つのリクエストが発生します(1つは401チャレンジ用、もう1つはレスポンス用)IAuthenticationModlue
-MSDNでこれに関する最小限の情報が見つかりましたが、カスタムクラスを試した後でも、前述のダブルホップの問題が発生します。最初のRESTリクエストをRestSharpはすべての終了スラッシュを削除しますnew RestRequest("/", Method.GET);
代わりに変更しますnew RestRequest("", Method.GET);
-唯一の問題は、特定のニーズのためにアプリとRestSharpの間にあるオープンソースプロジェクトを変更したくないということです。