url 参数传递电话号码,例如+1234 ,如何检索它,例如abc.com/save/xyz/+123
Posted
技术标签:
【中文标题】url 参数传递电话号码,例如+1234 ,如何检索它,例如abc.com/save/xyz/+123【英文标题】:url parameter passing phone number e.g. +1234 , how to retrieve it e.g. abc.com/save/xyz/+123 【发布时间】:2021-08-20 08:27:39 【问题描述】:我们有 URL,我们在其中传递姓名和电话号码 例如abc.com/save/xyz/+123
此 url 来自客户端,因此我们无法更改它,但我如何在后端检索它? 我已经尝试了所有可能的方法,但找不到解决方案。如果我从电话号码中删除 +,那么它可以工作,但我无法从 URL 中删除 + 号。
在控制器中,我有一个功能,例如
[HttpGet]
public ActionResult Save(string name,string phoneNo)
...
请告诉我该怎么做才能通过电话号码访问电话号码。
【问题讨论】:
在 url 中,+
表示空格。如果没有转义,您的网址实际上看起来像abc.com/save/xyz/ 123
。尝试访问Request.Url
,看看它是否包含未解码的url。
@LasseV.Karlsen 但我们在我的应用程序中使用该网址从其他应用程序重定向?那我应该怎么检查呢?
@Ana 在其他应用程序中修复它,因为显然存在 not url-encoding 的错误。如果您无权访问它,请告诉您的客户修复它,否则您将无法继续工作。或通过将" "
替换为"+"
来实施肮脏的黑客攻击,并希望该项目中的以后开发人员不会因此而诅咒您
您没有参数。 URL 的参数在问号之后。请参阅:searchenginejournal.com/technical-seo/url-parameter-handling/…
【参考方案1】:
你能检查一下吗
您需要添加Attribute Routing
[HttpGet]
[Route("Save/name/phoneNo")]
public ActionResult Save(string name,string phoneNo)
更多详情请查看 https://devblogs.microsoft.com/aspnet/attribute-routing-in-asp-net-mvc-5/
【讨论】:
以上是关于url 参数传递电话号码,例如+1234 ,如何检索它,例如abc.com/save/xyz/+123的主要内容,如果未能解决你的问题,请参考以下文章