浏览器抓取网页(STM32获取的网页和浏览器获取不一样?)
优采云 发布时间: 2021-10-31 00:20浏览器抓取网页(STM32获取的网页和浏览器获取不一样?)
获取到的网页内容与浏览器获取到的网页内容是否不同?
编程环境:vc6.0
工程:控制台应用
程序的具体情况:根据http协议获取的网页内容是成功的,但是发现程序获取的网页和浏览器获取的网页不仅内容不同,最明显的是编码不同。我在浏览器中查看了源文件,发现字符编码是utf-8,但是程序下载的源文件是gb2312
发送的协议内容为char *request = "GET / HTTP/1.1\r\nAccept: */*\r\nAccept-Language: zh-cn\r\nHost: \r\nConnection:关闭\r\n\r\n";
C/C++ 代码
char host[] = "www.baidu.com";
char *request = "GET / HTTP/1.1\r\nAccept: */*\r\nAccept-Language: zh-cn\r\nHost: www.baidu.com\r\nConnection: Close\r\n\r\n";
我想知道为什么不一样。我的请求都是模拟抓包软件中浏览器的请求,除了缺少Accept-Encoding: gzip, deflate
除了一项,其他完全一样,(即使加了这一项,两个代码还是不一样)
- - - 解决方案 - - - - - - - - - -
你已经自己回答了所有问题,这个想法是正确的
- - - 解决方案 - - - - - - - - - -
需要发送相应的cookie
- - - 解决方案 - - - - - - - - - -
用抓包工具对比看看就清楚了
- - - 解决方案 - - - - - - - - - -
请求可能仍然不同,检查cookie,useragent。