【发布时间】:2011-04-01 17:08:00
【问题描述】:
我正在编写一个程序,该程序必须通过 API 样式调用(POST 请求)与基于 PHP/Web 的后端进行通信。我目前拥有的代码非常慢 - 每个请求需要 2-3 秒 - 是否有更快的方法或可以用来加快当前请求方法的方法:
Function PostData(ByRef Data() As PostData, ByVal URL As String)
Dim Requester As HttpWebRequest = HttpWebRequest.Create(URL)
Requester.Method = "post"
'Requester.Proxy = New System.Net.WebProxy("localhost", 1234)
'Requester.
Dim ASCIIEncoding As Encoding = New ASCIIEncoding
Dim DataString As String = "apirequest=true"
For Each DataItem As PostData In Data
DataString = DataString & "&" & DataItem.Key & "=" & DataItem.Value
Next
DataString = Right(DataString, Len(DataString) - 1)
Dim RawData() As Byte = ASCIIEncoding.GetBytes(DataString)
Requester.Method = "POST"
Requester.ContentType = "application/x-www-form-urlencoded"
Requester.ContentLength = RawData.Length
Requester.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
Dim NewStream As Stream = Requester.GetRequestStream()
NewStream.Write(RawData, 0, RawData.Length)
NewStream.Close()
Dim ResponseStreamReader As StreamReader = New StreamReader(Requester.GetResponse().GetResponseStream())
Return ResponseStreamReader.ReadToEnd()
End Function
【问题讨论】: