Отсутствует HTML-код / ​​теги при загрузке страницы с C ++ - PullRequest
2 голосов
/ 12 ноября 2011

Мне наконец-то удалось загрузить веб-страницу на диск с помощью библиотеки 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>

Чтопроблема здесь?Я должен получать текст, ссылки, рамки с изображениями и HTML около 150 КБ.

Любая помощь приветствуется!

Ответы [ 2 ]

1 голос
/ 12 ноября 2011

Этот тег <meta> предназначен для перенаправления клиента (который обычно является браузером) на другой URL-адрес. Ваш код не отвечает на это, поэтому вы видите только начальную страницу.

Это:

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

сообщает клиенту, что после нулевой задержки страница "index.jsp" должна быть извлечена. Вы можете увидеть, что произойдет, если вы начнете с URL

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

0 голосов
/ 12 ноября 2011

Существует немедленное перенаправление на index.jsp.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...