我正在尝试向通过heroku托管的Neo4j实例发出REST请求。服务器使用基本身份验证进行设置。
这是我从Heroku提供的网址(注意尾随斜线):http://username:password@instance.hosted.neo4j.org:123/db/data /
我正在使用RestSharp连接到此实例。但是,RestSharp将删除尾部斜杠。 Code。生成的网址变为:http://username:password@instance.hosted.neo4j.org:123/db/data
这会产生HTTP 301
到(注意尾随斜杠):http://username:password@instance.hosted.neo4j.org:123/db/data/
问题是授权标头不会在重定向MSDN之间保留。此重定向会生成HTTP 401
。
这有什么明显的方法吗?我尝试了以下内容:
/db/data//
,因此RestSharp只删除了一个斜杠,但剩下一个斜杠。这不起作用,因为其他请求的格式无效:/db/data//query/stuff
CredentialCache
课程。这有效但每次操作会产生2个请求(一个用于401挑战,另一个用于响应)IAuthenticationModlue
- 在MSDN中找到有关此内容的最小信息,但在尝试自定义类后,仍会出现前面提到的双跃点问题。new RestRequest("/", Method.GET);
而不是new RestRequest("", Method.GET);
- 唯一的问题是我不想修改我的应用和RestSharp之间的开源项目我的具体需求。答案 0 :(得分:0)
来自Google集团的皮特:
请求“根资源”的一个有点烦人的解决方法是 使用:new RestRequest(“/”),尾部空格将阻止 RestSharp修剪斜线,但会被(大多数)忽略 服务器。
https://groups.google.com/forum/?fromgroups#!topic/restsharp/8mBmaXksmsg