为什么请求一个网址返回了压缩内容?
同一段请求搜狐新闻网(http://news.sohu.com/)的代码,在一个公司返回了正常的网页内容,在另一个公司返回了经过gzip压缩的网页内容,请问为什么呢?同一段代码呀。
- C/C++ code
// 代码片段const TCHAR *pszAgent = _T("Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; BOIE9;ZHCN)"); HINTERNET internet=InternetOpen(pszAgent, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, NULL);HINTERNET file_handle=InternetOpenUrl(internet, pszUrl, NULL, 0, INTERNET_FLAG_RELOAD, 0);BOOL b = InternetReadFile(file_handle, pReadPos, 10240, &bytes_read);InternetCloseHandle(internet);[解决办法]
网页根据不同网络做了处理?
[解决办法]
他们的服务器不是使用的标准http协议??
[解决办法]
HTTP协议对于许多内容都不是强制的
所以,无论服务器,还是客户端都需要有忍耐心,给什么处理什么,尽量地处理而已
[解决办法]
都没说的点上。
作为客户端,你在请求时,要明确的指出是否接受压缩格式。
作为服务器端,如果你没有明示,它即可以压缩也可以不压缩
[解决办法]
如果两者都可能,自己写代码判断一下,分别处理!