CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Błąd podczas pobierania danych ze strony
Strona 1 z 1

Błąd podczas pobierania danych ze strony

Nowy postNapisane: czwartek, 27 lutego 2014, 14:59
przez mate006
Witam

Problem dotyczy http://programowanie.cal.pl/cyfbar/siec.html#siec10, a mianowicie pobieram dane z jednej strony i chcę żeby przeszło mi na nową stronę, to mimo iż adres url jest poprawny to nie pobiera danych z nowej strony, tylko nadal pobiera z pierwszej strony dane

Dodam tylko iż dla potrzeb Embarcadero musiałem zmienić typy zmiennych na w_str
KOD cpp:     UKRYJ  
AnsiString TMain::ReadFileURL(String Url)
{
        AnsiString result = "";
        HINTERNET hSession = NULL;
        hSession = InternetOpen(L"ReadFileURL", INTERNET_OPEN_TYPE_DIRECT, 0, 0, 0);
        if (hSession)
        {
                HINTERNET hService = NULL;
                hService = InternetOpenUrl(hSession, Url.w_str(), NULL, 0, 0, 0);
                if (hService)
                {
                        while (1)
                        {
                                char lpBuffer[1024 + 1];
                                DWORD dwBytesRead;
                                InternetReadFile(hService, lpBuffer, 1024, &dwBytesRead);
                                if (dwBytesRead == 0)
                                        break;
                                lpBuffer[dwBytesRead] = 0;
                                result += lpBuffer;
                        }
                }
                InternetCloseHandle(hService);
        }
        InternetCloseHandle(hSession);

        return result;
}
 

Re: Błąd podczas pobierania danych ze strony

Nowy postNapisane: czwartek, 27 lutego 2014, 17:28
przez Cyfrowy Baron
Nie rozumiem jaką operację ty wykonujesz. Co znaczy, że chcesz by przeszło na drugą stronę? Skąd wiesz, że są to wciąż dane z pierwszej strony, skoro są identyczne?

Może pobiera ci wciąż z cache, spróbuj użyć InternetOpenUrl z flagą: INTERNET_FLAG_RELOAD i INTERNET_FLAG_NO_CACHE_WRITE:

KOD cpp:     UKRYJ  
hService = InternetOpenUrl(hSession, Url.w_str(), NULL, 0, INTERNET_FLAG_RELOAD | INTERNET_FLAG_NO_CACHE_WRITE, 0);

Re: Błąd podczas pobierania danych ze strony

Nowy postNapisane: piątek, 28 lutego 2014, 11:01
przez mate006
Dzięki Ci Baronie pomogło