[C++] Program do pobierania pliku ze strony.
-
- Użytkownik
- Posty: 10
- Rejestracja: 12 cze 2008, o 15:18
- Płeć: Mężczyzna
- Lokalizacja: Izabelin
- Podziękował: 1 raz
[C++] Program do pobierania pliku ze strony.
Witam.
Raz na tydzień na stronie internetowej pojawia się nowy plik PDF z zadaniami.
Głównie z nudy oraz chęci rozwoju umiejętności programowania, chciałem napisać program, umieszczony na pulpicie, który automatycznie będzie ściągał ze strony najnowszy plik. Pliki mają nazwę z*.pdf, \(\displaystyle{ \ast \in N}\).
Szczerze nie wiem jak się do tego zabrać. Proszę o pomoc.
Raz na tydzień na stronie internetowej pojawia się nowy plik PDF z zadaniami.
Głównie z nudy oraz chęci rozwoju umiejętności programowania, chciałem napisać program, umieszczony na pulpicie, który automatycznie będzie ściągał ze strony najnowszy plik. Pliki mają nazwę z*.pdf, \(\displaystyle{ \ast \in N}\).
Szczerze nie wiem jak się do tego zabrać. Proszę o pomoc.
-
- Moderator
- Posty: 2828
- Rejestracja: 15 cze 2008, o 15:45
- Płeć: Mężczyzna
- Lokalizacja: Seattle, WA
- Podziękował: 3 razy
- Pomógł: 356 razy
[C++] Program do pobierania pliku ze strony.
Możliwości masz wiele. Możesz wykorzystać gotowe frameworki/biblioteki do obsługi sieci i wtedy to będzie banalne (hint: QT, curl). Możesz łączyć się po sockecie i ściągać dane, a potem zapisywać je ręcznie do pliku (hint: socket, na windowsie WinSock).
-
- Użytkownik
- Posty: 10
- Rejestracja: 12 cze 2008, o 15:18
- Płeć: Mężczyzna
- Lokalizacja: Izabelin
- Podziękował: 1 raz
[C++] Program do pobierania pliku ze strony.
Planowałem C++.abc666 pisze:A w jakim języku chcesz to pisać ?
Hmmm curl wydaje się dość łopatologiczny i stworzony jak najbardziej pod to.Afish pisze:Możliwości masz wiele. Możesz wykorzystać gotowe frameworki/biblioteki do obsługi sieci i wtedy to będzie banalne (hint: QT, curl). Możesz łączyć się po sockecie i ściągać dane, a potem zapisywać je ręcznie do pliku (hint: socket, na windowsie WinSock).
Jeśli wiesz jak wykorzystać te biblioteki, czy mógłbyś jakoś bardziej to zaprezentować? Jakichś konkretnych danych potrzebujesz do stworzenia podstawowego kodu? (Albo może bardziej tego skomplikowanego, bo z podstawowym mogę się pobawić samemu ;p )
- Althorion
- Użytkownik
- Posty: 4541
- Rejestracja: 5 kwie 2009, o 18:54
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 9 razy
- Pomógł: 662 razy
[C++] Program do pobierania pliku ze strony.
Moim zdaniem pisanie takiego programu w C++ to dziwaczne wykorzystanie tego języka, ale rozumiem, że można tak robić celowo, dla treningu. Tak czy owak, jest to zabawa raczej dla języków skryptowych (Python czy nawet bash).
Jeżeli chcesz korzystać z Curla, to najprymitywniejszy możliwy do napisania program będzie zapamiętywał (w jakimś pliku konfiguracyjnym) numerek ostatnio ściągniętego PDFa i wywoływał przy uruchomieniu CURLa jako proces zewnętrzny dla odpowiedniego adresu, żądając pliku o numer późniejszego.
Jeżeli chcesz korzystać z Curla, to najprymitywniejszy możliwy do napisania program będzie zapamiętywał (w jakimś pliku konfiguracyjnym) numerek ostatnio ściągniętego PDFa i wywoływał przy uruchomieniu CURLa jako proces zewnętrzny dla odpowiedniego adresu, żądając pliku o numer późniejszego.
-
- Moderator
- Posty: 2828
- Rejestracja: 15 cze 2008, o 15:45
- Płeć: Mężczyzna
- Lokalizacja: Seattle, WA
- Podziękował: 3 razy
- Pomógł: 356 razy
[C++] Program do pobierania pliku ze strony.
Wątpię, żebym przedstawił to lepiej, niż tutoriale obecne w sieci. Pozostaje Ci googlowanie, ale obsługa biblioteki nie jest trudna, więc dasz sobie radę.mkk-13 pisze:Jeśli wiesz jak wykorzystać te biblioteki, czy mógłbyś jakoś bardziej to zaprezentować?
-
- Użytkownik
- Posty: 10
- Rejestracja: 12 cze 2008, o 15:18
- Płeć: Mężczyzna
- Lokalizacja: Izabelin
- Podziękował: 1 raz
[C++] Program do pobierania pliku ze strony.
Pościągałem biblioteki cURL i starałem się je zainstalować, aby były do użytku z Ms Visual C++ 2010, a więc ogólnie VC10. Niestety z tego co widziałem, jest to naprawdę wymagające zadanie -> instalacja pod Windowsem ;D.
Jeśli masz czasu troszkę, nie mógł byś zajrzeć dokładniej i spróbować? Może znajdziesz jakieś błędy w kodzie, czy coś.
Stąd można pobrać:
A na tym się wzorowałem, przy instalacji [znalezione w ściągniętym pliku (BUILD.WINDOWS.txt) ze strony wyżej]:
Użyłem komendy: nmake /f makefile.vc mode=dll VC=10
Wyrzuciło mi błędy:
O tyle staram się uzyskać pomoc, gdyż w internecie mało jest do tego zrozumiałych rozwiązań, a ja już znalazłem odpowiedni skrypt od cURL'a w c++ i myślę jak go przerobić, żeby odpowiednie pliki zawsze ściągał ;p
Jeśli masz czasu troszkę, nie mógł byś zajrzeć dokładniej i spróbować? Może znajdziesz jakieś błędy w kodzie, czy coś.
Stąd można pobrać:
Kod: Zaznacz cały
http://curl.haxx.se/download.html
Kod: Zaznacz cały
Building with Visual C++
========================
Open a Visual Studio Command prompt or the SDK CMD shell.
Using the CMD Shell:
choose the right environment via the setenv command (see setenv /?)
for the full list of options. setenv /xp /x86 /release for example.
Using the Visual Studio command prompt Shell:
Everything is already pre-configured by calling one of the command
prompt.
Once you are in the console, go to the winbuild directory in the Curl
sources:
cd curl-src\winbuild
Then you can call nmake /f makefile with the desired options (see below).
The builds will be in the top src directory, builds\ directory, in
a directory named using the options given to the nmake call.
nmake /f makefile.vc mode=<static or dll> <options>
where <options> is one or many of:
VC=<6,7,8,9,10> - VC versions
WITH_DEVEL=<path> - Paths for the development files (SSL, zlib, etc.)
Default to sibbling directory deps: ../deps
Libraries can be fetched at http://pecl2.php.net/downloads/php-windows-builds/
Uncompress them into the deps folder.
WITH_SSL=<dll or static> - Enable OpenSSL support, DLL or static
WITH_ZLIB=<dll or static> - Enable ZLib support, DLL or static
WITH_SSH2=<dll or static> - Enable LIbSSH2 support, DLL or static
USE_SSSPI=<yes or no> - Enable SSPI support, default to yes
USE_IPV6=<yes or no> - Enable IPV6, default to yes
DEBUG=<yes or no> - Debug builds
USE_IDN=<yes or no> - Wheter or not to use IDN Windows APIs. Requires Windows Vista or later.
or to install http://www.microsoft.com/downloads/details.aspx?FamilyID=AD6158D7-DDBA-416A-9109-07607425A815
GEN_PDB=<yes or no> - Generate Program Database (debug symbols release build)
Wyrzuciło mi błędy:
Kod: Zaznacz cały
NMAKE : fatal error U1077: ' "ścieżka Visuala\VC\BIN\link.exe" ' : return code '0x460'
Stop.
NMAKE : fatal error U1077: ' ""ścieżka Visuala\VC\BIN\nmake.exe" ' : return code '0x2'
Stop.
O tyle staram się uzyskać pomoc, gdyż w internecie mało jest do tego zrozumiałych rozwiązań, a ja już znalazłem odpowiedni skrypt od cURL'a w c++ i myślę jak go przerobić, żeby odpowiednie pliki zawsze ściągał ;p
[C++] Program do pobierania pliku ze strony.
Wiesz, w sumie to możesz po prostu sobie wgeta zainstalować i napisać króciutki "skrypt" w .bat. Jak wygląda sprawa z numeracją? Czy są to kolejne numery? Czy są zera wiodące?
-
- Użytkownik
- Posty: 10
- Rejestracja: 12 cze 2008, o 15:18
- Płeć: Mężczyzna
- Lokalizacja: Izabelin
- Podziękował: 1 raz
[C++] Program do pobierania pliku ze strony.
Numery to prawie na 100% kolejne liczby naturalne. Teraz jest plik o nazwie z0.pdf, następny ma byc z1.pdf, itd.abc666 pisze:Wiesz, w sumie to możesz po prostu sobie wgeta zainstalować i napisać króciutki "skrypt" w .bat. Jak wygląda sprawa z numeracją? Czy są to kolejne numery? Czy są zera wiodące?