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的主要内容,如果未能解决你的问题,请参考以下文章

通过 Passport OAuth 流传递 URL 参数

如何使用 Meteorjs 使用 URL 参数

如何给url传递动态参数值?

url如何传递参数

如何调用 Web 服务并使用 URL 传递参数

Django入门三之urls.py重构及参数传递