1
我從VB.Net客戶端發佈的數據很大,我想壓縮。 我想做一個「POST」,並且Apache服務器支持mod_deflate。 我想將DeflateStream整合到我的郵政編碼中,但似乎沒有工作。使用deflatestream在.NET(Vb)中使用壓縮數據執行HTTP Post
我可以使用標準代碼發送未經壓縮的數據。
request.ContentType = "application/x-www-form-urlencoded"
Dim dataStream As Stream = request.GetRequestStream()
Dim byteArray As Byte() = Encoding.UTF8.GetBytes(strEncodedXML)
request.ContentType = "application/x-www-form-urlencoded"
request.ContentLength = byteArray.Length
dataStream.Write(byteArray, 0, byteArray.Length)
dataStream.Close()
Dim response As WebResponse = request.GetResponse()
但是我不知道如何使用Deflate Stream添加壓縮。 我最好的猜測是以下,但我不認爲它工作。
request.Headers.Add("Content-Encoding", "deflate")
request.ContentType = "application/x-www-form-urlencoded"
Dim dataStream As Stream = request.GetRequestStream()
Dim byteArray As Byte() = Encoding.UTF8.GetBytes(strEncodedXML)
Dim compress As New DeflateStream(dataStream, CompressionMode.Compress, True)
request.ContentType = "application/x-www-form-urlencoded"
request.ContentLength = byteArray.Length
dataStream.Write(byteArray, 0, byteArray.Length)
dataStream.Close()
Dim response As WebResponse = request.GetResponse()
問題。
- 我應該發送壓縮後的 流的 的ContentLength,如果是這樣,我怎麼說。
- 我應該寫入數據流 還是壓縮?
- 這是你如何使用 DataStream和DeflateStram 在一起?
- 在服務器端,考慮到apache會自動處理充氣,我如何知道它正在工作(到目前爲止,我知道在使用的兩種方法之間的帖子上我的 沒有節省上面的 )。
你爲什麼不認爲它工作? –