[VB.NET]动态代理服务器问题

VB.NET源码-156个实用实例哦…… <script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
动态代理服务器问题
我想通过动态改变 代理地址 的方法访问一个网址,可是第一个代理有效,以后不行这是为什么?有什么办法可以解决吗?先谢了!
Dim proxyObject As New WebProxy(代理地址, True)
Dim request As WebRequest = WebRequest.Create( 网址 )
request.Proxy = proxyObject
Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
response.Close()
__________________________________________________________________________
WebProxy proxy = new WebProxy();
proxy = (WebProxy) request.Proxy;
string uriString = address+ : +port;
WebProxy proxy = new WebProxy();
proxy = (WebProxy) request.Proxy;
string uriString = Form1.C_Proxy_addr + : + Form1.C_Proxy_port;
if (uriString.Length > 0)
{
Uri uri = new Uri(uriString);
proxy.Address = uri;
proxy.Credentials = new NetworkCredential(Form1.C_Proxy_user, Form1.C_Proxy_pass);
request.Proxy = proxy;
}
;
__________________________________________________________________________
楼上的能说清楚点吗?看不太明白!感觉跟上面的代码一样,还望指点!
__________________________________________________________________________
我现在是作两个小软件,第一个访问一次网址就关闭,每次用不同的代理,第二就不停的启动第一个软件,这样虽然可以用,但是太麻烦,能不能在一个软件里动态更新代理服务器呢?
__________________________________________________________________________
帮忙给顶一下呀!谢谢!!!
__________________________________________________________________________
在通过调用 GetRequestStream、BeginGetRequestStream、GetResponse 或 BeginGetResponse 方法启动请求之后,更改 Proxy 属性将引发 InvalidOperationException。有关代理元素的信息,请参见 defaultProxy 元素(网络设置)。
__________________________________________________________________________
请问楼主确定需要使用WebBrowser控件吗?
如果确定需要使用WebBrowser控件,通常需要调用API函数InternetSetOption()来修改全局代理。

如果需要使用HTTPWebRequest类,可以直接修改其Proxy属性达到修改代理的目的。
__________________________________________________________________________
我想 你为什么不用多线程 创建 不同的 代理用完了就释放,也不用修改
__________________________________________________________________________
journeyboy(IT民工)你好,请问有这样的例子吗?
__________________________________________________________________________
我原来想的比较简单,不停的换代理IP可以了,或是运行完上面代码就释放,可以又不知道怎么样释放!
__________________________________________________________________________
TO: fish__net (小鱼儿.NET)

请问您是需要WebBrowser类的例子,还是HTTPWebRequest类的例子?

前者需要使用InternetSetOption(),可以参考下面我的例子,后者比较简单,就不说了。

Imports System.Runtime.InteropServices

_
Public Structure Struct_INTERNET_PROXY_INFO
Public dwAccessType As Integer
Public proxy As IntPtr
Public proxyBypass As IntPtr
End Structure

_
Private Shared Function InternetSetOption( _
ByVal hInternet As IntPtr, _
ByVal dwOption As Integer, _
ByVal lpBuffer As IntPtr, _
ByVal lpdwBufferLength As Integer) _
As Boolean
End Function

Private Function RefreshIESettings(ByVal strProxy As String) As Boolean
Dim INTERNET_OPTION_PROXY As Integer = 38
Dim INTERNET_OPEN_TYPE_PROXY As Integer = 3

Dim struct_IPI As Struct_INTERNET_PROXY_INFO

Filling in structure
struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY
struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy)
struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi( local )

Allocating memory
Dim intptrStruct As IntPtr = Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI))

Converting structure to IntPtr
Marshal.StructureToPtr(struct_IPI, intptrStruct, True)

Return InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, Marshal.SizeOf(struct_IPI))
End Function
__________________________________________________________________________
好的,谢谢!我试试.
__________________________________________________________________________
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值