小编Chu*_*uck的帖子

在 Go 中替换 URL 中的协议和主机名

Go 中是否有一种直接的方法来修改 URL/URI,而无需使用正则表达式来提取组件(即我正在寻找一种确定性的“经过验证的”方式/方法)。

例如,我有两种类型的 URL 发送到我的应用程序:

  • http://wiley.coyote.acme.co/this/is/a/long/path?param1=123&param2=456
  • https://road.runner.acme.co/another/long/path?meep=meep

我需要做的是重写 URL,以便参数列表和端点/路径完好无损,但协议从 更改为httphttps(除非它已经是https),并且整个主机名/FQDN 需要更改为egghead.local。例如,上面的两个 URL 将变为:

  • https://egghead.local/this/is/a/long/path?param1=123&param2=456
  • https://egghead.local/another/long/path?meep=meep

是否有可靠/成熟的方法来处理这个问题(例如最好没有正则表达式)?

string url substring url-rewriting go

1
推荐指数
1
解决办法
3653
查看次数

标签 统计

go ×1

string ×1

substring ×1

url ×1

url-rewriting ×1