C# - 如何发送 URL 作为 Web.Api 的 GET 方法的 ID

C# -How to send a URL as the ID for a GET method of a Web.Api

如何发送 GET 请求,其中我发送的 ID 是 URL?

也就是说,我正在调用以下内容(这显然不起作用)以查看我发送的 URL 是否已经在我的数据库中。

http://myserver.com/api/checkurl/http://www.urltocheck.com.au/people/112

我的客户端代码是:

var response = httpClient.GetAsync("http://myserver.com/api/checkurl",  urlToCheck).Result;

API 一侧:

[HttpGet]
[Route("api/checkurl/{url}")]
public HttpResponseMessage CheckURLExistsApi(string url)
{
    var url = db.URLS.FirstOrDefault(x => x.Url == url);
    if (url != null)
    {
        return Request.CreateResponse(HttpStatusCode.Found);         }

    }
    return Request.CreateResponse(HttpStatusCode.NotFound);
}

有什么方法可以封装我的 url 字符串?或者我应该使用 POST 而不是 GET 并发送字典?

谢谢

评论建议 URL 进行编码,但我 运行 遇到了查询字符串存在潜在危险的问题,并且不愿意通过 web.config 广泛删除该保护站点.

所以我最终做的是创建一个模型来保存我的 URL,并使用 PostAsJson 方法 POST 它,并获取用于评估的 HTTP 状态代码。