我已经设法在C ++中创建一个文件下载器(使用winsock)。它使用以下文件下载每个简单链接: www.page.com/image.png
我想让它从整个页面下载所有图像,例如来自4chan线程的所有图像,但我不知道我应该在http请求中发送什么来获取页面的源代码。如何申请网页来源?
答案 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;
标记的各个网址。