gpt4 book ai didi

javascript - 使用 C++ 下载页面时缺少 HTML 代码/标签

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:34:00 26 4
gpt4 key购买 nike

我终于成功地使用 wininet 库将网页下载到磁盘。我目前正在使用以下 C++ 代码:

    #include <windows.h>
#include <wininet.h>
#include <stdio.h>
#include <fstream>
#include <cstring>

#define SIZE 128


int main(int argc, char ** argv)

{

HINTERNET Initialize,Connection,File;
DWORD dwBytes;

char ch;
Initialize = InternetOpen("HTTPGET",INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0);

Connection = InternetConnect(Initialize,argv[1],INTERNET_DEFAULT_HTTP_PORT,
NULL,NULL,INTERNET_SERVICE_HTTP,0,0);


File = HttpOpenRequest(Connection,NULL,"/index.html",NULL,NULL,NULL,0,0);
if(HttpSendRequest(File,NULL,0,NULL,0))
{
std::ofstream webSource;
webSource.open(strcat(argv[1], "__.html"));
while(InternetReadFile(File,&ch,1,&dwBytes))
{
if(dwBytes != 1)break;
webSource << ch;
}
webSource.close();
}

InternetCloseHandle(File);
InternetCloseHandle(Connection);
InternetCloseHandle(Initialize);

return 0;
}

但这是我选择通过 www.rottentomatoes.com 下载时唯一得到的东西

<HEAD><TITLE>Flixster</TITLE>

<META http-equiv=Content-Type content="text/html; charset=ISO-8859-1">

<meta http-equiv="refresh" content="0;url=index.jsp">

<!--

<meta http-equiv="refresh" content="0;url=maintenance.html">

-->

</HEAD>



<BODY>

</body>

</html>

这里有什么问题?我应该得到文本、链接、图像框架和大约 150KB 的 HTML。

感谢任何帮助!

最佳答案

那个<meta>标记旨在将客户端(通常是浏览器)重定向到另一个 URL。您的代码没有对此做出响应,因此您看到的只是初始页面。

这个:

<meta http-equiv="refresh" content="0;url=index.jsp">

告诉客户端在零秒延迟后应该获取页面“index.jsp”。如果您从 URL 开始,您可能会看到会发生什么

http://www.rottentomatoes.com/index.jsp

关于javascript - 使用 C++ 下载页面时缺少 HTML 代码/标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8104880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com