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

前端之家收集整理的这篇文章主要介绍了[VB.NET]动态代理服务器问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

动态代理服务器问题
我想通过动态改变 代理地址 的方法访问一个网址,可是第一个代理有效,以后不行这是为什么?有什么办法可以解决吗?先谢了!
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,Marshal.SizeOf(struct_IPI)) End Function __________________________________________________________________________ 好的,谢谢!我试试. __________________________________________________________________________

猜你在找的VB相关文章