代码之家  ›  专栏  ›  技术社区  ›  Christopher Pisz

HttpClient-绑定到接口[重复]

c#
  •  0
  • Christopher Pisz  · 技术社区  · 6 年前

    我正在写一篇文章。NET程序,该程序将在具有多个IP地址的计算机上运行。该程序向给定的web地址发出HTTP请求。我想选择使用哪个IP地址(这样我就可以确定哪个IP地址会出现在另一台服务器的日志上)。

    0 回复  |  直到 13 年前
        1
  •  7
  •   spender    13 年前

    我相信您可以通过提供 BindIPEndPointDelegate 它提供要绑定的IP/端口。

    string sendingIp = "192.168.0.1";
    int sendingPort = 5000;
    Uri uri = new Uri("http://google.com");
    HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(uri);
    ServicePoint sp = ServicePointManager.FindServicePoint(uri);
    sp.BindIPEndPointDelegate =
        (servicePoint,remoteEp,retryCount) =>
             {
                 return new IPEndPoint(IPAddress.Parse(sendingIp),sendingPort);
             };
    var data = new StreamReader(wr.GetResponse().GetResponseStream()).ReadToEnd();
    

    此代码无法正确处理处置。