我试图向服务器接口发送HTTP请求。 但我真的很困惑如何指定我想发送到服务器接口方法的参数。我到目前为止所做的。发送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()
这是我的代码到目前为止,它正在发送请求。但我得到一个错误,说第一个(我想也是第二个)参数为空。
我非常不确定这两行:
Dim parameters As String = "?text=test&type=person"
WebReq.ContentType = "application/x-www-form-urlencoded"
是不是有什么毛病我的参数语法?
这些拼写在我的内容中是否正确?什么是内容类型?它说了什么,我该如何确定放哪个值?
我不知道如果这是ContentType的正确值,实际上我只是想接收一些JSON字符串返回的fromatted数据。
什么是错误的确切文字? – SLaks 2012-01-12 14:28:07
改为使用WebRequest.Create(url)静态方法。 http://stackoverflow.com/questions/1238773/problem-with-slash-within-a-query-string – Calvin 2012-01-12 14:45:17
我认为这只引用GET请求? – inva 2012-01-12 14:49:11