gpt4 book ai didi

c# - 为什么我的查询字符串参数被 url 解码两次?

转载 作者:太空宇宙 更新时间:2023-11-03 12:11:51 24 4
gpt4 key购买 nike

<分区>

我有一个使用 .Net 4.7.1 的网络 API,在其中一个端点上执行获取时,我注意到一些奇怪的行为。当我执行到端点 http://localhost:52684/api/v1/some-resource?client_timezone=%2B0500 时,接收到的参数客户端时区为 "0500" 而不是 "+0500"。我唯一能想到的是 Url 被解码两次,所以 "%2B" 变成 "+" 然后 ""。有谁知道造成这种情况的任何常见原因或为什么会发生这种情况?

Controller 上有一个类似的端点

[HttpGet]
[Authorize]
[ApiRoute("some-resource", StartingVersion = 1)]
[EnableCors("*", "*", "GET", "*")]
public IHttpActionResult SomeResource([FromUri] string timezone)
{
if (!DataValidationUtililties.IsValidClientTimezone(timezone))
{
return BadRequest();
}
return Ok();
}

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com