C - 替换字符 HTTP 响应



我正在编写代理服务器并使用 nc 对其进行测试。

由于我手动发送GET请求,因此标头如下所示:

GET / HTTP/1.0  
Host: www.amazon.com  
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.3) Gecko/20120305 Firefox/10.0.3  
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8  
Accept-Encoding: gzip, deflate  
Connection: close  
Proxy-Connection: close  

最后有一个\r,所以标头正常。但是,当我去阅读亚马逊的响应时,响应标题是正常的,但内容行都是替换字符。

HTTP/1.1 200 OK  
Date: Tue, 25 Nov 2014 17:08:03 GMT  
Server: Server  
Set-Cookie: skin=noskin; path=/; domain=.amazon.com  
pragma: no-cache  
x-amz-id-1: 157CTXPNTVVD271HDG44  
p3p: policyref="http://www.amazon.com/w3c/p3p.xml",CP="CAO DSP LAW CUR ADM IVAo IVDo CONo OTPo OUR     DELi PUBi OTRi BUS PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA HEA PRE LOC GOV OTC "  
cache-control: no-cache  
x-frame-options: SAMEORIGIN  
expires: -1  
x-amz-id-2: ggo8s1NmVFVscFO6Blt05UzTxs2CbsdYzcw4z8TyYLiDv0QbFSdQFK09JncUcB/w  
Vary: Accept-Encoding,User-Agent  
Content-Encoding: gzip  
Content-Type: text/html; charset=UTF-8  
Set-cookie: x-wl-uid=1LX2gl15WltBK6y/zMT25z7xYeDp5fpb2FPgX2jI1wrLmoHlSfdF5DpdOHjIqmuMZyWTgPxM/t6k=; path=/; domain=.amazon.com; expires=Tue, 01-Jan-2036 08:00:01 GMT  
Set-cookie: session-id-time=2082787201l; path=/; domain=.amazon.com; expires=Tue, 01-Jan-2036 08:00:01 GMT  
Set-cookie: session-id=182-1331589-3819822; path=/; domain=.amazon.com; expires=Tue, 01-Jan-2036 08:00:01 GMT  
Connection: close  

身体遵循如下

O�xW6m�����Y=  
�   -�X��?0!p!������4j�f��X�J            
                              ��YɴyOT�Q�M�w�$�|K�fux(���,S�!��  

我不知道为什么会发生这种情况 - 起初我认为这与 Accept 标头有关,但是这些标头是在分发给我的,所以我不认为这是问题所在。

内容编码gzip,这意味着内容需要解压缩。

最新更新