Vra

Ek het probeer om'n paar maniere om aan te meld by die webwerf deur middel van die java.Ek het gebruik watij, HTMLunit ens.maar as gevolg van nie so vertroud is met enige van hierdie, ek is nie in staat om suksesvol te meld.

Kan iemand my vertel in detail hoe om aan te meld deur middel van die java

Om meer spesifiek te wees, ek wil om aan te meld by die ORKUT en wil die pagesource van die bladsy wat kom na login.

Was dit nuttig?

Oplossing

Jou beste kans om sulke dinge te doen en te oorleef in die werklike wêreld web is met Selenium-RC.

Basies, wat jy sal doen, is om remote-control jou leser om enigiets wat jy kan met die hand te doen (behalwe lêers wat gelaai is) doen.

Baie keer, het ek hierdie patroon gebruik:

  1. Teken met selenium
  2. Neem die koekies
  3. Gaan voort met my gunsteling HTTP biblioteek.

Ander wenke

Die antwoord hang af van hoe die webwerf pogings om jou te staaf:

  • Doen wat jy het om te stel'n gebruikersnaam en wagwoord in die HTTP headers (basiese auth)?
  • Of doen jy het om te vul en'n vorm met die gebruikersnaam en wagwoord vergeet?

Vir óf ek sou aanbeveel commons-httpclient, alhoewel die laasgenoemde skerm-skraap benadering is altyd morsig te doen programatically.

Vir basiese verifikasie, neem'n blik op httpclient se Verifikasie Gids.

Vir vorms verifikasie, sal jy nodig het om seker te maak die HTML bron van die bladsy om te verstaan

  • Die URL van die vorm is voorgelê om te
  • Wat die name van die parameters te dien is

Vir hulp oor hoe om'n vorm in httpclient, neem'n blik op die dokumentasie op die POST metode.

Die httpclient webwerf bevat ook'n basiese handleiding.

Hoekom probeer jy inteken via Java, waarom nie net cURL gebruik? Is daar iets spesifiek wat jy probeer te bewerkstellig?

Orkut gebruik Google auth aan te meld. My voorstel is om 'n HTTP debugger soos Fiddler gebruik om die verkeer te kyk tydens login. Waarskynlik, is daar koekies en aansture wat jy nodig het om te herhaal.

In die algemeen,

  1. Kyk na die login vorm, kry die name van die veld en wagwoord en die aksie wat die vorm poste aan
  2. Skep 'n POST versoek om die aksie URL en slaag in die naam en wagwoord korrek is (bv name = gebruikersnaam en wagwoord = PWD)
  3. Was dit HTTPS (maak seker dat dit korrek te doen)
  4. As die reaksie het 'n stel van koekies in die kop, maak seker dat die koekie stuur op alle daaropvolgende versoeke
  5. As die reaksie het 'n aanstuur, dan doen 'n te kry vir die aanstuur, stuur koekies indien toepaslik
  6. (hou herhaling op # 5 totdat jy nie 'n aanstuur kry)

Die reaksie wat jy kry aan die einde van hierdie is die bladsy bron.

Neem 'n blik op hierdie:

http: // kode .google.com / apis / GData / javadoc / com / Google / GData / kliënt / http / AuthSubUtil.html http: // code.google.com/p/apex-google-data/source/browse/trunk/google_data_toolkit/src/classes/AuthSubUtil.cls

Dit lyk asof Google-kode vir waarmerking met hul dienste.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top