开始时,我的应用程序向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. Web服务器和数据库服务器之间的安全数据传输
- 2. iPhone应用程序和服务器之间的图像传输
- 3. Web应用程序和C应用程序之间的通信?Web服务?
- 4. 在服务器和iOS应用程序之间同步数据
- 5. android应用程序和asp.net之间的数据传输C#
- 6. 在C++(MFC)应用程序和C#之间传递数据
- 7. 在客户端应用程序和Web应用程序之间传递数据
- 8. 应用程序服务器和Web服务器之间的区别?
- 9. 如何捕获在Web服务器和WebService之间传输的实际数据
- 10. 在服务器应用程序之间共享数据
- 11. Java Web应用程序和C++服务器之间的套接字通信
- 12. 在驱动程序和Windows服务之间传递数据
- 13. 本地服务器和AWS服务器之间的数据传输
- 14. 安全地在iPhone应用程序和Arduino服务器之间传输数据的方法
- 15. java web应用程序和web服务之间的线程间通信
- 16. 在C#服务器进程和网站之间共享数据
- 17. C++应用程序和web应用程序之间的通信
- 18. 窗口服务,WCF服务应用程序和ASP.NET Web服务应用程序之间的区别?
- 19. 在不同服务器上的Web应用程序之间传递用户数据
- 20. 在多轨应用程序之间传输数据
- 21. 快速在服务器之间传输大数据
- 22. Perl DBI - 在两个sql服务器之间传输数据 - fetchall_arrayref
- 23. 在Android应用程序和Jersey服务器应用程序之间共享类
- 24. Azure容器服务和容器Web应用程序之间的区别
- 25. 在服务器和iPhone应用程序之间形成通信
- 26. 在iPhone和Web服务之间传输图像
- 27. 使用服务在Angular中的不同应用程序的控制器之间传输数据
- 28. 在axis2服务器和Android应用程序之间传递的复杂类型
- 29. 分离的Web服务器和应用程序服务器?
- 30. 在Web服务之间共享数据