Odczytanie rozmiaru pliku z internetu

0

Witam!
Jak odczytać rozmiar pliku znajdującego się w internecie na jakiejś stronie?

Używam C++ Buildera 6 :)

0

Trzeba wysłać odpowiedni nagłówek HTTP

0

Hmmmm... Próbowałem coś wykombinować i przekształciłem pewien kod z Delphi(http://4programmers.net/Delphi/FAQ/Sieć/Internet/A_jak_sprawdzić_czy_plik_znajduje_się_na_serwerze_(HTTP)bez_próby_jego_ściągnięcia) na c++:

String host="http:////google.pl";
String data="HEAD HTTP//1.0\r\nAccept: ..., *//* \r\nReferer: "+host;
data+="\r\nAccept-Language: pl\r\nUser-Agent: Mozilla//4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\nHost: "+host;
data+="\r\nConnection: close\r\n\r\n";
IdTCP->Port=80;
IdTCP->Host=Edit1->Text;
IdTCP->Connect(3000);
IdTCP->WriteLn(data);
RichEdit->Lines->Add(IdTCP->ReadLn(" ",1000,30000));

Jednak niestety źle to zrobiłem ;P Może ktoś mi pomóc?? Mi pokazuje że błąd leży w przedostatniej linicje, czyli tam gdzie się wysyła nagłówek.... :(

Znalazłem rozwiązanie:

String host="http://google.pl";
IdHTTP->Head(host);
rozmiar=IdHTTP->Response->ContentLength;

Przyczym ustawiłem właściwości idHTTP->Request:

    AllowCookies = True
    HandleRedirects = True
    ProxyParams.BasicAuthentication = False
    Request.Connection = 'close'
    Request.Accept = '*/*'
    Request.AcceptEncoding = 'gzip'
    Request.AcceptLanguage = 'pl'
    Request.BasicAuthentication = False
    Request.UserAgent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Neostrada Plus 5.6; Maxthon)'

1 użytkowników online, w tym zalogowanych: 0, gości: 1