我尝试使用WebRequest从页面获取响应。
但我的代码只返回没有我的值的源代码。
代码:
Dim request As HttpWebRequest
request = WebRequest.Create("http://www.jigar.net/demo/httprequestdemoclient.aspx")
Dim postData As String = "text1=hello"
Dim data As Byte() = Encoding.ASCII.GetBytes(postData)
request.KeepAlive = True
request.Method = WebRequestMethods.Http.Post
request.ContentType = "application/x-www-form-urlencoded"
request.ContentLength = data.Length
Using stream As Stream = request.GetRequestStream()
stream.Write(data, 0, data.Length)
End Using
Dim response As WebResponse = request.GetResponse()
Dim responseString As String = New StreamReader(response.GetResponseStream()).ReadToEnd()
MsgBox(responseString)
我做错了什么?感谢
答案 0 :(得分:0)
在您使用的链接上有更多表单字段。你正在发送一个,但我算六:
稍微调试一下,如果我只发送前两个的值,那么我会得到类似于你描述的响应。但是,如果我发送所有六个值,我会收到您期待的回复。
您的流程似乎需要执行以下几个步骤:
Text1
和Text2
以外的所有内容)基本上,这个网站似乎使用隐藏的表格值来验证" POST请求,确保它来自有效使用页面而不是自动请求。 (基本上,要使稍微努力完全按照您尝试的方式执行操作。)您必须首先发出GET请求才能获取这些值并在您的POST请求。