繁体   English   中英

如何在 C# 中的任何 URL 中交换域

[英]How to swap domain in any URL in C#

我们遇到了从多个位置(多个后端服务)聚合一堆 URL 并将它们返回给调用者的问题。 但是,实际上大多数这些 URL 都可以从一个公共域访问,我们需要更改所有 URL,以便它们反映这一点。

换句话说,如果我有这些网址:

https://example.org/some/sub/path
http://123.example.net:798/and/yet/another?with=some%20params
https://wrong.again.it?id=1

我们需要一个好的算法来更改每个 URL 的域,以便它们都来自同一个源并最终如下所示:

https://my.domain.net/some/sub/path
http://my.domain.net/and/yet/another?with=some%20params
https://my.domain.net?id=1

我们还没有找到一种干净、优雅、高效的令人满意的方式。

这是UriBuilder的一个相当典型的用法:

var builder = new UriBuilder("http://foo/bar?baz");
builder.Host = "newhost";
Console.WriteLine(builder.Uri);

也有相应的SchemePort属性用于重新映射它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM