【发布时间】:2016-04-13 11:59:45
【问题描述】:
所以我正在对我喜欢的新 WebAPI 执行 GET,我的参数之一是我使用 encodeURIComponent 转义的 URL。在提琴手中,请求看起来像
GET /api/myapi/myurl/https%3A%2F%2Ft.co%2FkIEnlT8Mvn HTTP/1.1
这样很好。
但是,如果我查看 Application_BeginRequest 中的请求,我会得到
?HttpContext.Current.Request.Url.AbsolutePath
"/api/myapi/myurl/https:/t.co/kIEnlT8Mvn"
?HttpContext.Current.Request.Url.AbsoluteUri
"http://localhost:23652/api/myapi/myurl/https:/t.co/kIEnlT8Mvn"
?HttpContext.Current.Request.Url.OriginalString
"http://localhost:23652/api/myapi/myurl/https:/t.co/kIEnlT8Mvn"
?Request.RawUrl
"/api/myapi/myurl/https:/t.co/kIEnlT8Mvn"
所以我的问题是:如何从客户端发送的内容中获取正确的 URL?我想要得到任何一个
一个好的 URL https:SlashSlasht.co/kIEnlT8Mvn(// 改变了,因为 SO 讨厌短 URL)
或
https%3A%2F%2Ft.co%2FkIEnlT8Mvn
不是 https://t.co/kIEnlT8Mvn
(我也尝试使用 escape() 和 encodeURL() 对 URL 进行编码,结果相同。)
【问题讨论】:
标签: javascript c# asp.net-web-api