Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 使用代理调用http get_Vb.net_Proxy - Fatal编程技术网

Vb.net 使用代理调用http get

Vb.net 使用代理调用http get,vb.net,proxy,Vb.net,Proxy,如何编辑代码以接受代理 调用HTTP函数 Public Shared Function CallHttp(ByVal url As String, _ ByVal params As String, _ ByVal httpPost As Boolean) As String If httpPost Then Return CallHttpPos

如何编辑代码以接受代理

调用HTTP函数

Public Shared Function CallHttp(ByVal url As String, _
                                ByVal params As String, _
                                ByVal httpPost As Boolean) As String
    If httpPost Then
        Return CallHttpPost(url, params)
    Else
        Return CallHttpGet(url, params)
    End If
End Function
CallHttpPost函数:

Protected Shared Function CallHttpPost(ByVal url As String, _
                                       ByVal params As String) As String
    Dim loHttp As HttpWebRequest
    'params = QueryStringEncode(params, TypeEncodeEnum.urlEncode)
    loHttp = CType(WebRequest.Create(url), HttpWebRequest)
    loHttp.Method = "POST"
    Dim requestWriter As StreamWriter = New StreamWriter(loHttp.GetRequestStream())

    If Not String.IsNullOrEmpty(params) Then
        requestWriter.Write(params)
    End If
    requestWriter.Close()
    loHttp.ContentType = "application/x-www-form-urlencoded"
    loHttp.Headers.Set("Pragma", "no-cache")
    loHttp.AllowAutoRedirect = True
    loHttp.KeepAlive = True
    loHttp.Timeout = 30 * 1000
    'loHttp.Referer = url

    Dim loWebResponse As HttpWebResponse = CType(loHttp.GetResponse(), HttpWebResponse)
    Dim enc As Encoding = System.Text.Encoding.UTF8
    Dim loResponseStream As StreamReader = New StreamReader(loWebResponse.GetResponseStream(), enc)
    Dim lcHtml As String = loResponseStream.ReadToEnd()

    loWebResponse.Close()
    loResponseStream.Close()

    Return lcHtml
End Function
我在一个公司防火墙后面,如果我使用这样的功能,我会得到一个
407所需的代理身份验证
错误

 strXML = CallHttp(API_URL, sb.ToString, False)

有什么想法吗?

user
pass
是您代理的身份验证

Dim myProxy As New WebProxy("192.168.1.2:8080")
Dim authentication As New System.Net.NetworkCredential("user", "pwd") 
myProxy.Credentials = authentication 
Dim loHttp As HttpWebRequest
loHttp .Proxy = myProxy