代码之家  ›  专栏  ›  技术社区  ›  fyjham

对域解析为的不同IP的httpwebrequest

  •  3
  • fyjham  · 技术社区  · 15 年前

    长话短说,我正在调用的不同环境(dev/staging/uat/live)是通过在服务器上放置主机记录来设置的,因此Live域在中解析为HTTP请求的其他服务器。

    问题是,他们在这么多不同的环境中完成了这项工作,以至于我们没有足够的服务器来使用服务器范围内的主机文件(我们有一些环境运行在相同的服务器上——幸运的是,不是dev和live-though:p)。

    我想知道是否有一种方法可以向域发出webrequest请求,但明确指定它应该连接到的服务器的IP?或者有没有任何方法可以做到这一点,而不是一路向下到套接字连接(我真的不希望通过尝试重新实现HTTP协议来浪费时间/创建错误)。

    PS:我已经尝试过了,我们不能只为每个环境获取一个新的子域。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Jeremy McGee    14 年前

    欺骗HTTP主机头的一种方法是将代理设置为您希望将请求发送到的实际服务器。有点像

    request.Proxy = new WebProxy(string.Format("http://{0}/", hostAddress));
    

    可能很管用。

        2
  •  0
  •   Akash Kava    14 年前

    有一些方法可以控制配置值。

    1. 您在.NET中启用了条件编译,在该编译中,您可以创建配置集,并创建可以使用特定域而不是更改其解析策略的指令。例如,在调试中,您可以使用x.com,在发布模式下,您可以使用y.com,在任何需要引用URL的地方。
    2. web.config和app.config现在支持根据所选配置进行更改,您可以使用web.debug.config和web.release.config,并且可以在此处指定不同的URL引用。