如何让HttpWebRequest使用指定网络接口传输数据

using System;
using System.Net;

class Program
{
    public static void Main ()
    {
        foreach (var ip in Dns.GetHostAddresses (Dns.GetHostName ()))
        {
            Console.WriteLine ("Request from: " + ip);
            var request = (HttpWebRequest)HttpWebRequest.Create ("http://ns1.vianett.no/");
            request.ServicePoint.BindIPEndPointDelegate = delegate {
                return new IPEndPoint (ip, 0);
            };
            var response = (HttpWebResponse)request.GetResponse ();
            Console.WriteLine ("Actual IP: " + response.GetResponseHeader ("X-YourIP"));
            response.Close ();
        }
    }
}
时间: 2024-08-28 19:57:10

如何让HttpWebRequest使用指定网络接口传输数据的相关文章

实现指定网段通过指定路由传输数据

场景描述:新机房有两台核心交换机,老机房也有两台核心交换机,由于目前新机房尚未购置安全设备,所以新建房的指定web服务器需要通过老机房做nat转换(新机房仅有一台路由器,可以实现简单的上网功能). 解决方案:新机房核心交换机的默认路由指向新机房的路由器,同时在需要通过老机房的网段上做策略路由,配置如下(新机房为华为S12712交换机):   配置接口策略路由示例 实现策略路由,具体配置思路如下: 1.      配置各设备接口IP地址及路由协议,使企业用户能通过RouterA访问Internet

网络编程之webclient和httpwebrequest的使用

(1)Lambda表达式 “Lambda表达式”是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式树类型. 所有 Lambda 表达式都使用 Lambda 运算符 =>,该运算符读为“goes to”. 该 Lambda 运算符的左边是输入参数(如果有),右边包含表达式或语句块. Lambda 表达式 x => x * x 读作“x goes to x times x”.可以将此表达式分配给委托类型,如下所示: C# delegate int del(int i); stati

Java网络编程从入门到精通(11):使用NetworkInterface类获得网络接口信息

从JDK1.4开始,Java提供了一个NetworkInterface类.这个类可以得到本机所有的物理网络接口和虚拟机等软件利用本机的物理网络接口创建的逻辑网络接口的信息. 一.创建NetworkInterface对象的两个静态方法 NetworkInerface类和InetAddress一样,也没有public的构造方法.因此,必须通过它的两个静态方法来创建NetworkInterface对象.可以使用两种方法来创建NetworkInterface对象:网络接口名(getByName方法)和I

/etc/sysconfig/network-scripts/ifcfg-eth0

以下各值常见于所有的基本配置文件中:* DEVICE=name,这里name是物理设备的名字(动态分配的PPP设备应当除外,它的名字是“逻辑名”.* IPADDR=addr, 这里addr是IP地址.* NETMASK=mask, 这里mask是网络掩码.* NETWORK=addr, 这里addr是网络地址.* BROADCAST=addr, 这里addr是广播地址.* GATEWAY=addr, 这里addr是网关地址.* ONBOOT=answer, 这里answer取下列值之一:o ye

curl命令具体解释

对于windows用户假设用Cygwin模拟unix环境的话,里面没有带curl命令,要自己装,所以建议用Gow来模拟,它已经自带了curl工具,安装后直接在cmd环境中用curl命令就可,由于路径已经自己主动给你配置好了. linux curl是一个利用URL规则在命令行下工作的文件传输工具.它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具. 一,curl命令參数,有好多我没实用过,也不知道翻译的对不正确,假设有误的地方,还请指正. -a/--append 上传文件

Cluster

LVS: 类型: NAT:地址转换 DR: 直接路由 TUN:隧道 NAT: 集群节点跟director必须在同一个IP网络中: RIP通常是私有地址,仅用于各集群节点间的通信: director位于client和real server之间,并负责处理进出的所有通信: realserver必须将网关指向DIP: 支持端口映射: realserver可以使用任意OS: 较大规模应该场景中,director易成为系统瓶颈: DR: 集群节点跟director必须在同一个物理网络中: RIP可以使用公

IP:网际协议

IP简介: 最高位在左边,记为0bit:最低位在右边,记为31bit. Big endian网络节次序:传输次序位线传输0~7bit,然后传输8~15bit,依次类推. Little endian:以其他存储形式存储二进制整数的机器,必须在传输数据之前把首部1转换成网络字节次序. TTL生存时间字段设置了数据报可以经过最多的路由器数.它指定了数据报的生存时间,初始值由源主机设置,一旦经过一个处理它的路由器,它的值就会减1.当字段值为0时,数据报就会被丢弃,并发送ICMP报文通知源主机. 1. I

curl命令备注

curl是利用URL语法在命令行方式下工作的开源文件传输工具. 它被广泛应用在Unix.多种Linux发行版中,而且有DOS和Win32.Win64下的移植版本号. 1.get请求:curl "http://blog.csdn.net/undoner? birthyear=1905&press=OK" 2.post请求:普通參数curl -d "birthyear=1905&press=OK" "http://blog.csdn.net/u

curl订单具体解释

为windows假设用户Cygwin模拟unix环境的话,不会有带curl命令,拥有设备,它建议使用Gow为了模拟,它已经自带curl工具,直接安装之后cmd使用环境curl命令可以,由于路径是自己主动给你的配置. linux curl是一个利用URL规则在命令行下工作的文件传输工具.它支持文件的上传和下载,所以是综合传输工具,但按传统.习惯称url为下载工具. 一.curl命令參数,有好多我没实用过,也不知道翻译的对不正确,假设有误的地方,还请指正. -a/--append 上传文件时,附加到