Vb.net 不使用代理时请求出错
我的VB.Net应用程序有问题。当我尝试在没有代理的情况下向发送请求时,我在fiddler中得到以下响应:HTTP/1.1 502 fiddler-DNS查找失败 这是什么意思?为什么对请求使用代理服务器时没有错误 我使用以下代码发送请求:Vb.net 不使用代理时请求出错,vb.net,proxy,request,httpwebrequest,Vb.net,Proxy,Request,Httpwebrequest,我的VB.Net应用程序有问题。当我尝试在没有代理的情况下向发送请求时,我在fiddler中得到以下响应:HTTP/1.1 502 fiddler-DNS查找失败 这是什么意思?为什么对请求使用代理服务器时没有错误 我使用以下代码发送请求: Public Function GetRequest(ByVal url As String, ByVal referer As String, ByVal cookie As CookieContainer, Optional proxy As Str
Public Function GetRequest(ByVal url As String, ByVal referer As String, ByVal cookie As CookieContainer, Optional proxy As String = "") As String
Dim request As HttpWebRequest
Dim response As HttpWebResponse
Try
Dim cookies As String = ""
request = CType(HttpWebRequest.Create(url), HttpWebRequest)
request.CookieContainer = cookie
request.ServicePoint.Expect100Continue = False
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0"
If referer <> "" Then
request.Referer = referer
End If
request.Timeout = 10000
If proxy <> "" Then
request.Proxy = New WebProxy(proxy)
End If
response = CType(request.GetResponse(), HttpWebResponse)
cookies = response.GetResponseHeader("Set-Cookie")
If url.Contains("ask.fm/") Then
If New Regex("l=.*?; domain=ask.fm; path=/;").Match(cookies).Value = "" Then
Return "ERROR"
End If
End If
Dim source As String = New StreamReader(response.GetResponseStream()).ReadToEnd()
If source.Contains("No robots allowed!") Then
source = "ERROR"
End If
If source = "" Then
source = "ERROR"
End If
Return source
Catch ex As Exception
Return "ERROR"
End Try
End Function
公共函数GetRequest(ByVal url作为字符串,ByVal referer作为字符串,ByVal cookie作为CookieContainer,可选代理作为字符串=”“)作为字符串
Dim请求作为HttpWebRequest
作为HttpWebResponse的Dim响应
尝试
Dim cookies As String=“”
request=CType(HttpWebRequest.Create(url),HttpWebRequest)
request.CookieContainer=cookie
request.ServicePoint.Expect100Continue=False
request.UserAgent=“Mozilla/5.0(Windows NT 6.1;rv:8.0)Gecko/20100101 Firefox/8.0”
如果引用“”则
request.Referer=Referer
如果结束
请求超时=10000
如果是“代理”,则
request.Proxy=新的WebProxy(代理)
如果结束
response=CType(request.GetResponse(),HttpWebResponse)
cookies=response.GetResponseHeader(“设置Cookie”)
如果url.Contains(“ask.fm/”),则
如果新的正则表达式(“l=.*?;domain=ask.fm;path=/;”).Match(cookies).Value=”“则
返回“错误”
如果结束
如果结束
Dim source As String=New StreamReader(response.GetResponseStream()).ReadToEnd()
如果source.Contains(“不允许机器人!”),则
source=“错误”
如果结束
如果source=”“,则
source=“错误”
如果结束
返回源
特例
返回“错误”
结束尝试
端函数
您是否使用Fiddler检查交通?如果是这样,请确保Fiddler可以正确重定向您的流量
转到“帮助”>“关于Fiddler”并确保您的网关是正确的(设置为用于访问internet的代理,或者设置为“无网关”(如果您可以直接访问)。Fiddler说:无网关,但我现在应该怎么做才能正确发送请求?