如何在我发送的ID是网址的情况下发送GET请求?
即,我正在调用以下内容(显然不起作用),以便查看我发送的网址是否已经在我的数据库中。
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);
}
我是否应该封装我的网址字符串?或者我应该使用POST而不是GET并发送字典?
由于
答案 0 :(得分:0)
这些评论建议使用URL编码,但我遇到了查询字符串存在潜在危险的问题,并且不习惯通过web.config删除该保护站点。
所以我最终做的是创建一个模型来保存我的URL,并使用PostAsJson方法对其进行POST,并获取用于评估的HTTP状态代码。