一个服务器上面配置多个IP ,实现指定IP的域名请求
//配置多个IP命名
using System.Net;
//***************************************************************************
/// <summary>
/// 通过设置这个属性,可以在发出连接的时候绑定客户端发出连接所使用的IP地址。
/// </summary>
/// <param name="servicePoint"></param>
/// <param name="remoteEndPoint"></param>
/// <param name="retryCount"></param>
/// <returns></returns>
public static IPEndPoint BindIPEndPointCallback(ServicePoint servicePoint, IPEndPoint remoteEndPoint, int retryCount)
{
return new IPEndPoint(IPAddress.Parse("192.168.1.1") , );//端口号
}
/// <summary>
/// 一个服务器上面配置多个IP 固定出网IP
/// </summary>
public static void MakeRequest()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.baidu.com");
//设置本地的出口ip和端口
request.ServicePoint.BindIPEndPointDelegate = new BindIPEndPoint(BindIPEndPointCallback);
if (ServicePointManager.DefaultConnectionLimit < )
{
ServicePointManager.DefaultConnectionLimit = ;
}
//req.ServicePoint.ConnectionLimit=int.Max; //允许最大连接数 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
response.ToString();
}
HttpWebRequest的详细方法二:
System.Net.HttpWebRequest myRequest = null;
System.Net.HttpWebResponse myResponse = null;
Stream reqStream = null;
Stream resStream = null;
string signkey = "", url = "";
string sdateStr = DateTime.Now.AddDays(-).ToString("yyyyMMdd") + "";
try
{
signkey = XH_ChannelKey;//key
url = XH_ChannelUrl; //接口地址
url += "fromDate=" + sdateStr;
url += "&version=1.4";//版本号
url += "&hmac=" + MD5Encrypt(signkey + sdateStr + "1.4");
//想服务器端发送请求,获取订单信息
myRequest = System.Net.WebRequest.Create(url) as System.Net.HttpWebRequest;
//--------------------- c#中HttpWebRequest使用Proxy实现指定IP的域名请求 ---------------------------------
//需要使用Proxy和其配置 (代理ip)
////System.Net.WebProxy proxy = new System.Net.WebProxy("115.238.128.138", 80);
////myRequest.Proxy = proxy;
//------------------------------------------------------
myRequest.Timeout = * * ;//1分钟超时 1 minutes timeout
myRequest.Method = "POST";
myResponse = myRequest.GetResponse() as System.Net.HttpWebResponse;
Stream myResponseStream = myResponse.GetResponseStream();
StreamReader myStreamReader;
myStreamReader = new StreamReader(myResponseStream, System.Text.Encoding.GetEncoding("utf-8"));
//post返回的数据
string receiveData = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close(); }
catch (Exception ex)
{
string stacktrace = ex.StackTrace;//获得详细的错误位置
string errpoint = stacktrace.Substring(stacktrace.IndexOf("位置"), stacktrace.Length - stacktrace.IndexOf("位置")); Common.WriteTextLog("Error","", ex.Message + Environment.NewLine + errpoint);
}
finally
{
if (resStream != null)
{
resStream.Close();
}
if (reqStream != null)
{
reqStream.Close();
}
if (myResponse != null)
{
myResponse.Close();
}
if (myRequest != null)
{
myRequest.Abort();
}
////特别留意这句Sleep的调用!!
System.Threading.Thread.Sleep();
}
一个服务器上面配置多个IP ,实现指定IP的域名请求的更多相关文章
- 网站环境apache + php + mysql 的XAMPP,如何实现一个服务器上配置多个网站?
xampp 是一个非常方便的本地 apache + php + mysql 的调试环境,在本地安装测试 WordPress 等各种博客.论坛程序非常方便.今天我们来给大家介绍一下,如何使用 XAMPP ...
- Wireshark抓包笔录--之指定IP地址筛选捕获结果
Wireshark安装 1.去官网下载相应的安装包 地址如下:https://www.wireshark.org/ 2.安装步骤,一路next,需要同意的地方点同意 3.安装完成后打开软件,如下: W ...
- linux下一个网卡配置多个ip【虚拟ip】
Linux下配置网卡ip别名何谓ip别名?用windows的话说,就是为一个网卡配置多个ip.什么场合增加ip别名能派上用场?布网需要.多ip访问测试.特定软件对多ip的需要...and so on. ...
- 多网卡下如何配置指定IP走某个路由器(适用于外网不通,但是钉钉服务器通的情况)
# 多网卡下如何配置指定IP走某个路由器(适用于外网不通,但是钉钉服务器通的情况) ## 如何查看一个进程建立的网络连接,方式一 - 查看进程pid `ps -ef|grep dingtalk`- 查 ...
- 一个服务器多个tomcat的配置
下面我们把配置的详细过程写在下面,以供参考:(此例以配置三个Tomcat为例)1. 下载apache-tomcat-7.0.63,下载下来的文件为apache-tomcat-7.0.63.zip.2. ...
- 一个java新手配置IIS服务器的血泪史
接到一个二次开发项目,听说是asp页面,带着不要怂的态度于是接下了. 好嘛按照步骤来 1.了解需求:一个公司内部积分排名类型项目,已经被多次开发,我所需要的就是新增两个页面,一个是分店赛一个是分部赛. ...
- 如何理解一台服务器可以绑定多个ip,一个ip可以绑定多个域名
一个域名只能对应一个IP的意思是域名在DNS服务器里做解析的时候 一条记录只能指向一个IP地址.这个是死规定,试想一下,如果一个子域名指向了2个ip ,当访问者打开这个域名的时候,浏览器是展示哪个IP ...
- redis持久化以及主从服务器的配置
作者:silenceper 日期:2013-10-03 原文地址:http://silenceper.com/archives/959.html redis 与memcached 最大的一个区别就是R ...
- web iis服务器安全性配置实例
自己不维护服务器,不知道维护服务器的辛苦.刚开始为了嫌麻烦,抱有侥幸心理,一些繁琐的安全设置没有配置,结果服务器连一天都没撑过去.经过10天的反复摸索和努力,现在服务器已经稳定工作一个月了,特此整理本 ...
随机推荐
- js高级程序设计(五)引用类型
Object类型 创建Object 实例的方式有两种.第一种是使用new 操作符后跟Object 构造函数. var person = new Object(); person.name = &quo ...
- WCF初探-15:WCF操作协定
前言: 在前面的文章中,我们定义服务协定时,在它的操作方法上都会加上OperationContract特性,此特性属于OperationContractAttribute 类,将OperationCo ...
- Using of grep sed awk on Linux
#This script is to parse data file: fun0() { ## [INFO1]a=1 b=2 c=3 [INFO2]a=7 b=8 c=9 [INFO3] a=x ...
- android单选框和复选框(练习)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- linux下用phpize给PHP动态添加扩展
使用php的常见问题是编译php时忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想删除目录重装,这里就需要用到phpize了. 如我想增加bcmath扩展的支持,这 ...
- mysql命令行创建存储过程命令行定时执行sql语句
mysql -uroot -p show databases; use scm; show tables; show procedure status; 其他命令: SHOW VARIABLES LI ...
- iOS 注释的5要3不要和编码规范的26个方面
注释 代码注释,可以说是比代码本身更重要.这里有一些方法可以确保你写在代码中的注释是友好的: 不要重复阅读者已经知道的内容 能明确说明代码是做什么的注释对我们是没有帮助的. // If the col ...
- Python的平凡之路(5)
一.模块介绍 定义: 模块--用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件(文件名test.py,模块名test) 包—用来从逻辑上组织 ...
- NSAssert的使用
NSAssert的使用 苹果在foundation.framework中定义了这么一个宏: #define NSAssert(condition, desc, ...) 第一个参数为一个条件判 ...
- Python学习路程day8
Socket语法及相关 socket概念 A network socket is an endpoint of a connection across a computer network. Toda ...