[ bradic @ 06.12.2005. 17:39 ] @
Problem je sledeci:

1. Treba da pristupim jednom web strani.
2. Da se ulogujem sa mojim user name i password
4. Da pronadjem na strani ili servisu sta mi treba
3. Da skinem sa njihovog servisa sve sto mi treba (mislim na fajlove koje nude pod: Download i ostalo)

Ovo radim svakih pola sata u jednoj firmi, i oduzima mi dosta vremena.

Kako ovo sve da uradim, ali AUTOMATSKI - znaci da napisem neki program koji bi to sve za mene uradio.

Da li je to moguce, i koja tehnika se za to mora upotebiti.

Da li Visual C++ moze to da uradi.
[ yooyo @ 06.12.2005. 18:56 ] @
Moze...
U MSDN-u pogledaj MFC klasu CInternetSession, i njene metode:
GetFtpConnection Opens an FTP session with a server. Logs on the user.
GetHttpConnection Opens an HTTP server for an application that is trying to open a connection.

Pogledaj i klasu CHttpConnection i njenu metodu
OpenRequest Opens an HTTP request.

Verovatno moze i lakse koriscenjem C# i .NET frameworka.

yooyo
[ bradic @ 08.12.2005. 13:31 ] @
Ajde probacu ovo sto mi ti predlazes.

Da li mozes samo da mi kazes koji tip projekta zapocinjem (Open->NewProject) - posto jos nisam ni jednu aplikaciju uradio da radi sa Internetom i da li jos nesto mora biti ukljuceno u projekat - mislim na kontrole (eventualno) ili library.
[ yooyo @ 08.12.2005. 18:23 ] @
MFC application. Neka bude dialog.

yooyo
[ bradic @ 09.12.2005. 13:41 ] @
Hvala yooyo

Evo uspeo sam da procitam neku stranu sa Interneta (pocetnu - index.html) sa ovim klasama o kojima pises, ali sad mi treba da se automatski ulogujem pa da odem na neku drugu stranu gde bih skinuo neke podatke.

Znas li nesto o tome, koja je komanda u pitanju ili code.
[ yooyo @ 09.12.2005. 14:45 ] @
Za to treba da znas malo o URL i zahtevima. Obicno, website ako zahteva login, posalje HTML stranu u kojoj se nalazi username/password. Kada popunis ta polja i kliknes na Login onda se formira URL u obliku (ovo je samo primer):

http://www.imesajta.com/login?username=pera;password=sifra

Moras da provalis nekako format koji se koristi za login na konkretan site. Jos ako se koristi secure konekcija onda se stvari dodatno komplikuju.

Iskreno, ja se nisam puno bavio ovim problemom. Uglavnom sam preuzimao i slao podatke na ftp korscenjem tih klasa, a http sam koristio kad sam pravio kontrolu Media Player Classic-a kroz HTTP.

Ima jos jedan nacin, a to su web servisi. Ako web site radi kao web servis onda pokusaj da dobijes WSDL file (Web Service Desc. Lang). To je XML file u kome se nalazi inteface za taj web servis. U Visual studio klikni na references i izaberi Add Web referenca. Izaberi wsdl file i VS wizard ce generisati neophodan code za pristup servisu. Pogledaj primer Google API-a.

yooyo
[ bradic @ 09.12.2005. 15:06 ] @
Nije da nista ne znam ali ovo sto kazes - references - ne znam gde se nalazi.

[Ovu poruku je menjao bradic dana 09.12.2005. u 16:36 GMT+1]
[ yooyo @ 10.12.2005. 00:12 ] @
Koristi MSVC 7.1 (Visual Studio 2003). Napravi MFC projekat i idi u solution expolrer. Primetices da u ukviru projekta imas References, Source files, header files,...
Desni klik na References i iz popup menija izaberi Add Web Reference. Dalje prati wizard...

Ako nije problem, posalji mi wsdl file na PM pa cu ti napraviti "kostur" aplikacije.

yooyo
[ Shadowed @ 10.12.2005. 06:41 ] @
Mislim da ce malo teze ici sve to. Problem je sto ces verovatno morati da se pobrines i za coockie-e i sl. zavisno od toga kako se autentifikacija radi. Prakticno da napravis dobar deo browser-a. A to je veliki posao. Mozda bi najbolje bilo da kazes o kom se sajtu radi da bi bar donekle mogli da ti olaksamo stvar.
[ bradic @ 11.12.2005. 15:01 ] @
Radi se o sajtu www.fonet.co.yu
[ kurt.hectic @ 12.12.2005. 11:59 ] @
preporuka: http://curl.haxx.se/

to je i biblioteka, i program. upotrebi sta ti se vise dopada.
[ bradic @ 12.12.2005. 15:22 ] @
Upotrebio sam program ali mi se stalno javlja greska u sockaddr.h pa mi nije bas najjasnije sta treba da uradim posto se sa ovim susrecem prvi put:


1 - #ifdef HAVE_STRUCT_SOCKADDR_STORAGE
2 - struct Curl_sockaddr_storage {
3 - struct sockaddr_storage buffer;
4 - };
5 - #else
6 - struct Curl_sockaddr_storage {
7 - char buffer[256]; /* this should be big enough to fit a lot */
8 - };
9 - #endif

10 - #endif /* __SOCKADDR_H *


Ovo je greska u debug prozoru koja se javlja i baca me na liniju 3 gore:
c:\Goran\Visual C++ 6.0\Download\curl-7.15.1\lib\sockaddr.h(30) : error C2079: 'buffer' uses undefined struct 'sockaddr_storage'