如何在响应中隐藏来自位置参数的IP

时间:2016-02-16 08:45:12

标签: c# .net rest http asp.net-web-api2

在我的API中,我有方法,可以创建resourece。当一切正常时,我返回201 HTTP代码(已创建)。有我的代码片段。

var locationUrl = Request.RequestUri + "/" + id;
return Created(locationUrl, response);

在标题中,我看到此格式的位置参数:http://xxx.xxx.xxx.xxx/resource/id 我想避免在标题中共享IP地址,我更喜欢提供DNS名称。

我该怎么做?我的一些同事认为这是不安全的,我可能是真的吗?

1 个答案:

答案 0 :(得分:0)

使用此处的代码,使用webResponse.Headers.Keys读取所有标题,然后搜索包含“位置”的标题:

foreach (string key in webResponse.Headers.Keys)
{
    if (key != "Location")
    {
        var value = webResponse.Headers[key];
        headers.Add(key, value);
    }
}

检查 this 答案以获取更多信息。