我知道这个问题之前被问过,我正在寻找答案,但我是Post的新手,我无法弄清楚什么是错的,在某些网站上它工作正常但是当我用它来访问大学的内部网时我一直在:
需要使用HTTP cookie来验证授权信息
请告诉我我哪里做错了,这是我的代码:
Dim cookies = New CookieContainer()
ServicePointManager.Expect100Continue = False
Dim request As HttpWebRequest = DirectCast(WebRequest.Create("http://banapp01*******/PROD/twbkwbis.P_ValLogin"), HttpWebRequest)
request.CookieContainer = cookies
'Dim response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
'Dim cookieCount As Integer = cookies.Count
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0"
request.Method = "POST"
request.Referer = "http://banapp01.*******/PROD/twbkwbis.P_WWWLogin"
request.ContentType = "application/x-www-form-urlencoded"
Using requestStream = request.GetRequestStream()
Using writer = New StreamWriter(requestStream)
writer.Write("sid=" & TextBox1.Text & "&PIN=" & TextBox2.Text)
End Using
End Using
Using responseStream = request.GetResponse().GetResponseStream()
Using reader = New StreamReader(responseStream)
Dim result = reader.ReadToEnd()
RichTextBox1.Text = result
End Using
End Using
任何人都可以告诉我有什么问题吗?或者我需要如何正确地工作? 我一直在研究Post和Get 5天才能做到并且仍然失败! 我只是想让我的项目变得完美:S
答案 0 :(得分:0)
我猜你还没有发出一个返回cookie的请求来存储在CookieContainer中。
是否需要首先调用某种登录URL才能分配身份验证Cookie?