开始时,我的应用程序向Web服务器发出一个简单的GET请求。根据服务器的响应,应用程序可能需要向同一个Web服务器发送另一个请求,该响应必须包含一段html代码。问题是:如何压缩/缩小响应(一些html代码)以减少带宽,而不需要任何第三方库供我的C#应用程序解压缩接收到的数据。我只用了base64编码(这不是压缩数据),还有更多有效的方法吗?在C#应用程序和Web服务器之间传输数据
2
A
回答
2
那么,本质上你有在.NET中GZip compression。除此之外,您可以使用other libraries来进行压缩。然后,总是制定你自己的压缩方案。
2
为什么不是标准的gzip?算法在.net库中。
1
您可以要求服务器给你压缩数据,如果支持的话:
var req = (HttpWebRequest)WebRequest.Create("http://your.server/url");
req.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");
var webResponse = (HttpWebResponse)req.GetResponse();
var responseStream = webResponse.GetResponseStream();
if (webResponse.ContentEncoding.Contains("gzip", StringComparison.OrdinalIgnoreCase))
{
responseStream = new GZipStream(responseStream, CompressionMode.Decompress);
}
else if (WebResponse.ContentEncoding.ToLower().Contains("deflate"))
{
responseStream = new DeflateStream(responseStream, CompressionMode.Decompress);
}
var reader = new StreamReader(responseStream, Encoding.Default);
string html = reader.ReadToEnd();
webResponse.Close();
responseStream.Close();
全部细节在这里:http://www.west-wind.com/weblog/posts/2007/Jun/29/HttpWebRequest-and-GZip-Http-Responses
相关问题
- 1. 在C++应用程序和服务器之间传输数据
- 2. Web服务器和数据库服务器之间的安全数据传输
- 3. iPhone应用程序和服务器之间的图像传输
- 4. 移动应用和服务器之间的大数据传输
- 5. Web服务器,Web容器和应用程序服务器之间的区别
- 6. Web应用程序和C应用程序之间的通信?Web服务?
- 7. 在服务器和iOS应用程序之间同步数据
- 8. 服务器之间的数据传输
- 9. android应用程序和asp.net之间的数据传输C#
- 10. Web服务器,应用程序服务器和数据库服务器之间的区别
- 11. 在C++(MFC)应用程序和C#之间传递数据
- 12. 在C#应用程序之间流式传输数据
- 13. 在客户端应用程序和Web应用程序之间传递数据
- 14. 服务器和Web应用程序之间的API
- 15. android设备和web服务之间的数据传输
- 16. 应用程序服务器和Web服务器之间的区别?
- 17. 如何捕获在Web服务器和WebService之间传输的实际数据
- 18. 将数据从ios应用程序传递到C#web服务
- 19. 在服务器应用程序之间共享数据
- 20. 移动应用程序和Web服务数据传输(WCF和JSON)
- 21. Java Web应用程序和C++服务器之间的套接字通信
- 22. 应用程序和媒体服务器之间的文件传输
- 23. 在驱动程序和Windows服务之间传递数据
- 24. 应用程序和网站之间的Android数据传输
- 25. 本地服务器和AWS服务器之间的数据传输
- 26. java web应用程序和web服务之间的线程间通信
- 27. 安全地在iPhone应用程序和Arduino服务器之间传输数据的方法
- 28. 从JavaScript应用程序到Rails服务器的数据传输
- 29. 在C#服务器进程和网站之间共享数据
- 30. C++应用程序和web应用程序之间的通信