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

Błąd podczas pobierania danych ze strony

problemy z tworzeniem programów do obsługi sieci, internetu, e-mail itp..

Błąd podczas pobierania danych ze strony

Nowy postprzez mate006 » czwartek, 27 lutego 2014, 14:59

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;
}
 
Avatar użytkownika
mate006
Intelektryk
Intelektryk
 
Posty: 145
Dołączył(a): wtorek, 2 marca 2010, 14:12
Podziękował : 7
Otrzymał podziękowań: 0
System operacyjny: Windows 7 Premium 64
Kompilator: Embarcadero® C++Builder® XE
Gadu Gadu: 0
    Windows 7Firefox

Re: Błąd podczas pobierania danych ze strony

Nowy postprzez Cyfrowy Baron » czwartek, 27 lutego 2014, 17:28

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);

Za ten post autor Cyfrowy Baron otrzymał podziękowanie od:
mate006
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows 7Firefox

Re: Błąd podczas pobierania danych ze strony

Nowy postprzez mate006 » piątek, 28 lutego 2014, 11:01

Dzięki Ci Baronie pomogło
Avatar użytkownika
mate006
Intelektryk
Intelektryk
 
Posty: 145
Dołączył(a): wtorek, 2 marca 2010, 14:12
Podziękował : 7
Otrzymał podziękowań: 0
System operacyjny: Windows 7 Premium 64
Kompilator: Embarcadero® C++Builder® XE
Gadu Gadu: 0
    Windows 7Firefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Aplikacje sieciowe

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 3 gości