Webrequest下载速度更快(google了好几天)


Webrequest faster downloading (Googled for days)

我正在做一个从服务器下载多达5000个独立数据的项目。它基本上是一个PHP页面,它接受POST变量,从数据库获取数据并将其发送回。net客户端。

它很慢。每个请求大约需要1秒。我在谷歌上搜索了很多,并尝试了各种各样的代码调整,比如著名的代理设置等。但没有什么能加速它。

知道的吗?所有的解决方案,使这个超级快是受欢迎的。甚至是c语言编写的DLL或者任何你能想到的东西。这只是需要更快。

Public Function askServer(oCode As String) As String
    oBytesToSend = Encoding.ASCII.GetBytes("cmd=" & System.Web.HttpUtility.UrlEncode(oCode))
    Try
        oRequest = WebRequest.Create(webServiceUrl)
        oRequest.Timeout = 60000
        oRequest.Proxy = WebRequest.DefaultWebProxy
        CType(oRequest, HttpWebRequest).UserAgent = "XXXXX"
        oRequest.Method = "POST"
        oRequest.ContentLength = oBytesToSend.Length
        oRequest.ContentType = "application/x-www-form-urlencoded"
        oStream = oRequest.GetRequestStream()
        oStream.Write(oBytesToSend, 0, oBytesToSend.Length)
        oResponse = oRequest.GetResponse()
        If CType(oResponse, HttpWebResponse).StatusCode = Net.HttpStatusCode.OK Then
            oStream = oResponse.GetResponseStream()
            oReader = New StreamReader(oStream)
            oResponseFromServer = oReader.ReadToEnd()
            oResponseFromServer = System.Web.HttpUtility.UrlDecode(oResponseFromServer)
            Return oResponseFromServer
        Else
            MsgBox("Server error", CType(vbOKOnly + vbCritical, MsgBoxStyle), "")
            Return ""
        End If
    Catch e As Exception
        MsgBox("Oops" & vbCrLf & e.Message, CType(vbOKOnly + vbCritical, MsgBoxStyle), "")
        Return ""
    End Try
End Function

一些想法:

  • 并行运行http请求。(客户端)
  • 如果数据响应大小允许它在一个请求中获得所需的所有数据(您需要更改您的服务器实现)。
  • 缓存数据。(服务器)