发送HTTP请求,参数混淆

时间:2012-01-12 14:25:26

标签: .net vb.net

我正在尝试向服务器接口发送HTTP请求。 但我真的很困惑如何指定我想发送到服务器接口方法的参数。到目前为止我做了什么。

我的服务器界面只接受POST请求,这就是为什么我使用POST并询问我使用参数的方式是否有问题。

Dim parameters As String = "?text=test&type=person"
Dim buffer As Byte() = Encoding.UTF8.GetBytes(parameters)
Dim WebReq As HttpWebRequest = CType(WebRequest.Create(NameRecPage), HttpWebRequest)
'NameRecPage is the url

WebReq.Credentials = New NetworkCredential(Username, Password) 'variables are defined and theier values are valid

WebReq.Method = "POST"
WebReq.ContentType = "application/x-www-form-urlencoded"
WebReq.ContentLength = buffer.Length
Dim PostData As Stream = WebReq.GetRequestStream()

PostData.Write(buffer, 0, buffer.Length)
PostData.Close()

Dim WebResp As HttpWebResponse = DirectCast(WebReq.GetResponse(), HttpWebResponse)
Dim Answer As Stream = WebResp.GetResponseStream()
Dim _Answer As New StreamReader(Answer)

Dim inputBuffer As String = _Answer.ReadToEnd()

到目前为止,这是我的代码,它正在发送请求。但是我得到一个错误,说第一个(我认为也是第二个)参数是null。

我对这两行很不确定:

Dim parameters As String = "?text=test&type=person"
WebReq.ContentType = "application/x-www-form-urlencoded"

我的参数语法有问题吗?

这些拼写在我的内容中是否正确?什么是内容类型?它说了什么,我如何确定放在哪个值?

我不知道这是否是ContentType的正确值,实际上我只是希望收到一些以字符串形式返回的JSON fromatted数据。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

我认为你的问题在

WebReq.Method = "POST"

应为GET