当前位置: 首页 > 知识库问答 >
问题:

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

吕华彩
2023-03-14

我们需要从多个位置(多个后端服务)聚合一堆URL并将它们返回给调用方。然而,实际上这些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

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

共有1个答案

微生博简
2023-03-14

这是uribuilder的典型用法:

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

还有相应的schemeport属性来重新映射这些属性。

 类似资料:
  • 问题内容: 我将如何在Python中“按任意键”(或抓住菜单选项)? raw_input要求您按回车键。 Windows msvcrt具有getch()和getche()。 有使用标准库执行此操作的可移植方法吗? 问题答案:

  • 整个夏天我都在尝试练习java,但我被这个问题困住了。我需要在Java中交换整数中的2个字母。例如,在main方法中,我创建了一个名为swapdigits的方法,参数为1432。程序应该交换4和1以及3和2。输出应该是4123,因为它按顺序交换了这两个字母。假设我做swapdigits(1341234),输出应该是3114324。我知道我必须使用while循环,但我在交换上卡住了。 这是我目前所掌

  • 问题内容: 我正在尝试使用gson将返回的JSON转换为某种数据结构,以便提取有用的数据。 例如: http://search.twitter.com/search.json?q=test&rpp=1 返回值: 最终,我希望能够输出带有发件人名称和推文日期/时间的推文列表。 我已经阅读了gson文档,但是说实话,这让我头疼不已-我那里有很多新概念。 我是否需要定义一个完全映射到JSON结构的类,以

  • 我有如下问题: 输入:string:str=ABCDEFGH,前缀=“_”,位置=3,输出:result=AB_CDE_FGH 输入:string:str=10000000,前缀=“_”,位置=3,输出:result=10_000_000 输入:string:str=10000000,前缀=“_”,位置=2,输出:result=10_00_00_00 注意:在此问题中不能使用DecimalForm

  • 问题内容: 我在反转给定的映射并将其反转的键和值存储到另一个映射时遇到了一些麻烦。我有一个方法原型如下: 因此,如果我有向图的样例键如下: 我需要有效地反转该图,以便使d-> b代替b-> d。 我认为这对我来说就是要交换原始图中的值和键,并将它们添加到reverseMap中。我想我可以遍历图中给定键的每组值,然后将它们存储在列表中。 不幸的是,我在实施和思考时遇到了麻烦。我真的很感激朝着正确方向

  • 问题内容: 根据官方的es文档,禁用交换是Elasticsearch可获得的最佳性能提升之一。 但是,事实证明配置起来很困难。我花了很多时间研究并尝试使用不同的方法来使用Kubernetes上的官方ES docker镜像禁用交换。 设置为环境变量时,映像无法启动,并显示错误:。正如文档所指出的那样,这是意料之中的。我什至用设置挂载了一个自定义,但是失败了。 在k8s上使用官方es映像时,建议的禁用