【C#】.NET中设置代理服务器浏览网页的实现--转载
目前很多种类的浏览器中都有代理服务器的设置,用户可以通过浏览器自定义更换自己的IP,实现在线代理翻(河蟹)墙浏览网页。
而在.NET中,亦可以通过调用API函数InternetSetOption来实现自定义代理IP的设置。。
首先引用System.Runtime.InteropServices名字空间:
接着引入"wininet.dll"库文件,并定义IP代理设置方法:
#region 在线代理
public struct Struct_INTERNET_PROXY_INFO
{
public int dwAccessType;
public IntPtr proxy;
public IntPtr proxyBypass;
};
/// <summary>
/// 定义API函数
/// </summary>
/// <param name="hInternet"></param>
/// <param name="dwOption"></param>
/// <param name="lpBuffer"></param>
/// <param name="lpdwBufferLength"></param>
/// <returns></returns>
[DllImport("wininet.dll", SetLastError = true)]
private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength); /// <summary>
/// 刷新代理IP设置
/// </summary>
/// <param name="strProxy"></param>
private void RefreshIESettings(string strProxy)
{
const int INTERNET_OPTION_PROXY = ;
const int INTERNET_OPEN_TYPE_PROXY = ; Struct_INTERNET_PROXY_INFO struct_IPI; // Filling in structure
struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY;
struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy);
struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi("local"); // Allocating memory
IntPtr intptrStruct = Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI)); // Converting structure to IntPtr
Marshal.StructureToPtr(struct_IPI, intptrStruct, true); bool iReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, Marshal.SizeOf(struct_IPI));
} /// <summary>
/// 在线代理访问网页URL
/// </summary>
/// <param name="ip">代理IP</param>
/// <param name="port">代理端口</param>
/// <param name="url">要访问的网页URL</param>
private void NaviByProxy(string ip, string port, string url)
{
ListViewItem item = this.lst.SelectedItems[];
//this.listView_usr.Items.Remove(item); RefreshIESettings(string.Format("{0}:{1}", ip, port)); System.Object nullObject = ;
string strTemp = String.Empty;
System.Object nullObjStr = strTemp;
this.wbCnblog.Navigate(url);
} #endregion 调用NaviByProxy该方法,代理浏览网页:
if (lst.SelectedItems.Count > )
{
//代理游览网站URL
NaviByProxy(
lst.SelectedItems[].SubItems[].Text, //选中的代理IP地址
lst.SelectedItems[].SubItems[].Text, //选中的代理IP的端口
textBox_url.Text.Trim()//url地址
);
}
else wbCnblog.Navigate(textBox_url.Text);
实际效果:
转自:http://www.189works.com/article-41653-1.html
【C#】.NET中设置代理服务器浏览网页的实现--转载的更多相关文章
- 如何在IDM中设置代理服务器?
很多时候,大家下载文件都是在国外的一些网站上进行下载,这样不可免会受到自身国内网络的限制,另一方面下载源为避免服务器带宽占用过多而限制下载速率,这就会导致文件下载极慢,甚至几KB每秒. 这种情况是不是 ...
- Ubuntu中设置静态IP和DNS(转载)
原文地址:http://blog.sina.com.cn/s/blog_669421480102v3bb.html VMware 中使用网络,对虚拟机设置静态IP:在Ubuntu中设置静态IP共两步: ...
- 直接拨号、将电话号码传入拨号程序、调用拨号程序、调用系统浏览器浏览网页、调用系统程序查看联系人、显示系统设置界面和显示Wi-Fi设置界面代码
直接拨号.将电话号码传入拨号程序.调用拨号程序.调用系统浏览器浏览网页.调用系统程序查看联系人.显示系统设置界面和显示Wi-Fi设置界面代码 拨打号码的代码如下: Intent callIntent= ...
- Linux中7个用来浏览网页和下载文件的命令
上一篇文章中,我们提到了rTorrent.wget.cURL.w3m.Elinks等几个有用的工具,很多人回信说还有其它几个类似的工具也值得讨论,所以就有了这篇文章.如果错过了第一部分的讨论,可以通过 ...
- win xp firefox,chrome 在浏览网页时字体发虚,可以设置为新宋体
firefox,chrome 在浏览网页时字体发虚,比如:驱动之家.可以设置为新宋体.
- css网页中设置背景图片的方法详解
在css代码中设置背景图片的方法,包括背景图片.背景重复.背景固定.背景定位等 用css设置网页中的背景图片,主要有如下几个属性: 1,背景颜色 {">说明:参数取值和颜色属性一样 ...
- Android在程序中浏览网页
本文是自己学习所做笔记,欢迎转载.但请注明出处:http://blog.csdn.net/jesson20121020 有时须要在程序中浏览一些网页.当然了能够通过调用系统的浏览器来打开浏览.可是大多 ...
- 电脑不能浏览网页but能登录qq,解决方案总结
电脑能登录qq,但是不能浏览网页,解决方法总结 [注]:仅供参考,属个人经验 今天早晨起来,电脑突然只能登录qq,不能上网了,从来没有遇到这种问题的我开始各种百度方法,各种尝试,最终成功解决了问题 首 ...
- IE-“无法浏览网页” 教你十招解决疑难杂症
“无法浏览网页” 教你十招解决疑难杂症 相信大家也有遇到过像IE不能上网浏览的问题.下面就来给大家介绍一下常见原因和解决方法: 一.网络设置的问题 这种原因比较多出现在需要手动指定IP.网关.DNS服 ...
随机推荐
- 关于Jquery EasyUI中的DataGrid服务器端分页随记
一.关于DataGrid的分页和排序参数 对于分页参数不需要用户指定,程序在AJAX请求的时候会带上分页和排序需要的参数 每页显示条数:rows 当前页:page 排序字段:sort [multiS ...
- Thinkphp 空操作、空控制器、命名空间
1.空操作 空操作是指系统在找不到请求的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化. http://网址/index.php/Hom ...
- liunx运维面试题汇总二
一.填空题:1. 在Linux系统中,以 文件 方式访问设备 .2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统. 3. Linux文件系统中每个文件用 i节点 来标识 ...
- d010: 分离自然数
内容: 一个三位自然数,分离出它的百位.十位与个位上的数字 输入说明: 一行一个三位整数 输出说明: 一行三个数字 , 空格隔开.分别是百 十 个位数字 输入样例: 256 输出样例 : 2 5 ...
- 编写 capture filters
编写 capture filters 如有转载,请在转载前给我提一些建议.谢谢. 百度查不到资料,为无能的百度搜索增加点营养的料. 读 http://www.n-cg.net/CaptureFilte ...
- HttpClient and FileUpload
All communication over the Internet happens using a standard set of protocols, such as File Transfer ...
- 热爱工作 发财机会大增(这里不是选择软件还是硬件的问题,是自己的性格和追求的问题)——当你的老板不如你懂行的时候,还赚的盆满钵满的时候,你就可以考虑独立了 good
爱工作 发财机会大增 [ 油老板 ] 于:2011-02-09 06:39:41 复:1269077 认真回顾发主贴以来的三年半,俺觉得对于想发财的上班族来说,认真工作,刻苦钻研是发财的重要保证. 为 ...
- Building Web Apps with SignalR, Part 1
Building Web Apps with SignalR, Part 1 In the first installment of app-building with SignalR, learn ...
- Android 使用Post方式提交数据(登录)
在Android中,提供了标准Java接口HttpURLConnection和Apache接口HttpClient,为客户端HTTP编程提供了丰富的支持. 在HTTP通信中使用最多的就是GET和POS ...
- openStack 手动部署文档
1, 规划配置网络