什么是页面源的http请求?

时间:2016-07-05 13:25:30

标签: c++ http winsock

我已经设法在C ++中创建一个文件下载器(使用winsock)。它使用以下文件下载每个简单链接: www.page.com/image.png

我想让它从整个页面下载所有图像,例如来自4chan线程的所有图像,但我不知道我应该在http请求中发送什么来获取页面的源代码。如何申请网页来源?

2 个答案:

答案 0 :(得分:1)

您不会以{1}}请求的方式发送任何内容。

http请求为单个文档发送单个请求,并从服务器返回单个文档。

要下载整个页面,您必须解析下载的HTML文档,从HTML源中提取所有相关链接,然后为每个图像,css,js等发出单独的http请求。从主文件中引用。

这就是像wget's --recursive option这样的工具下载整个页面的方式。

答案 1 :(得分:0)

如果页面位于GET服务器的根目录,您将向www.page.com服务器发送/请求,询问GET / HTTP/1.1 Host: www.page.com 资源:

http://www.page.com/thepage.html

我们说该网页实际上位于GET。您会发送/thepage.html请求GET /thepage.html HTTP/1.1 Host: www.page.com 代替:

<img>

无论哪种方式,您都必须解析生成的HTML,以获取页面上所有j<- 0 ; i <- 1; NEWARRAY[PATTERN.length] while i < PATTERN.length if PATTERN[i] = PATTERN[j] j <- j + 1; NEWARRAY [i] <- j; i <- i + 1; else if j = 0 NEWARRAY[i] <- j; else J = NEWARRAY[j - 1]; return NEWARRAY; 标记的各个网址。