C# 重定向到URL而不显示URL

C# 重定向到URL而不显示URL,c#,proxy,url-redirection,C#,Proxy,Url Redirection,我有一个mp3文件的URL。我需要重定向到mp3文件而不显示URL,因为它包含我的API密钥;有办法做到这一点吗 我不希望客户端/嗅探器读取我的URL 有人可以提供一个代码片段,我可以看看吗 谢谢您不能通过重定向请求来实现这一点,因为重定向将告诉客户端从何处获取文件 最好的解决方案是在用户无法直接访问的服务器上使用代理应用程序。然后,这个代理软件将从原始源加载.mp3,并将数据转发给您的客户端。要保护的API密钥永远不会离开服务器。但是,您需要通过某种方式控制对代理的访问 如果您指的是客户端应用

我有一个mp3文件的URL。我需要重定向到mp3文件而不显示URL,因为它包含我的API密钥;有办法做到这一点吗

我不希望客户端/嗅探器读取我的URL

有人可以提供一个代码片段,我可以看看吗


谢谢

您不能通过重定向请求来实现这一点,因为重定向将告诉客户端从何处获取文件

最好的解决方案是在用户无法直接访问的服务器上使用代理应用程序。然后,这个代理软件将从原始源加载.mp3,并将数据转发给您的客户端。要保护的API密钥永远不会离开服务器。但是,您需要通过某种方式控制对代理的访问

如果您指的是客户端应用程序:总是有可能从应用程序中获取URL。这取决于你的威胁模型。您正在保护API密钥不受谁的攻击?如果您的头脑中有高度熟练的攻击者,那么他们很可能能够从您的应用程序中提取密钥


无论如何,在传输凭据时使用加密连接是一个好主意。如果您使用的是
https://
并检查证书,您至少可以防止自己嗅探网络流量。

实际上,没有办法阻止嗅探您的实际代码。在您自己的站点上开发代理URL将阻止他们访问您的API密钥,但您可能需要较大的带宽。

如果您在MVC或web API中使用路由,您可以很好地避免这种重定向。。你在用C#做什么?你试过什么代码?你可以创建一个服务来提供这个文件,这样它就隐藏了你的身份验证…我尝试了serponse.redirect,这显然不起作用,而server.transfer对我没有多大用处,因为它在另一端是一个mp3文件。给出的答案是正确的。。您需要全程管理用户,而不仅仅是将用户发送到文件。将文件提供给他们,而不是在ASPX中,您可以直接将数据写入响应流(不确定您在这里使用的是什么平台)。这是我们处理甚至不必保存自动生成的PDF的一种方法。如果你能想出如何告诉浏览器下载/播放内容,那么你就不必公开任何内容。你能带我去看一个网页或代码吗。这是我第一次处理这样的事情:(您可以更改哪些部分?您有自己的服务器吗?或者您只有客户端应用程序吗?我只有一个客户端应用程序可能只是不完全可见是可以的。例如可能不是页面源/URL。好的,看起来我们不完全理解您的问题。请尝试告诉我们有关所需架构的更多信息。您想隐藏在哪里URL?谁创建了URL?你能给我一个代码,让我做一些事情,比如创建代理吗?我看到了MSDN,但这个示例帮助不大:(我认为最简单的解决方案是在您的服务器上设置一个独立的代理软件,并将所有下载请求重定向到该代理软件。这样,您可能只需要对代码进行一些说明,就可以将文件下载请求重定向到该代理软件。如何?您能否更详细地解释,以充实您的答案?