[Java] HttpClient, inloggen op website

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • RainerSGF
  • Registratie: Juli 2008
  • Laatst online: 17-09 22:22
Voor een eigen java-project probeer ik nu, als onderdeel van het programma, via HttpClient een algemeen inlog-mechanisme te programmeren voor websites.

Tot heden heb ik reeds 'HttpClient 4.2' (binary) gedownload en als library toegevoegd in m'n Eclipse-project.
Het probleem nu echter, dat ik niet begrijp, is dat er de opmerkingen 'HttpClient cannot be resolved to a type' op de code worden gegeven. En terwijl er een import bovenaan is gedaan (import org.apache.http.*;).

Hier alvast een begin-deel van de code:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import org.apache.http.*;


public class Authenticator {
    static final String LOGON_SITE = "developer.java.sun.com";
    static final int    LOGON_PORT = 80;
       
    public static void main(String[] args) throws Exception {
        
        HttpClient client = new HttpClient(); //error "HttpClient cannot be resolved to a type"
        client.getHostConfiguration().setHost(
                LOGON_SITE, LOGON_PORT, "http");
        
        client.getParams().setCookiePolicy(
                CookiePolicy.BROWSER_COMPATIBILITY); //terug error '...cannot be resolved to a type'
    
        GetMethod authget = new GetMethod("/servlet/SessionServlet");

...

Iemand ervaring met HttpClient of dit soort problemen? Ik weet dat dergelijke foutmeldingen meestal
gemaakt worden wanneer iets met de import niet juist is, maar hier raak ik toch niet verder.

Systeem - I'm learning, I learn it from a book :)


Acties:
  • 0 Henk 'm!

  • Domdo
  • Registratie: Juni 2009
  • Laatst online: 30-06 20:29

Acties:
  • 0 Henk 'm!

  • Herko_ter_Horst
  • Registratie: November 2002
  • Niet online
Omdat imports op die manier niet werken.

blah.* importeert alleen de classes uit het blah package, niet uit blah.blah en andere "sub" packages. HttpClient zit in het org.apache.http.client package.

Ik zou er sowieso voor kiezen Eclipse dit te laten oplossen door op Ctrl-Shift-O te drukken (Organize Imports).

@Domdo: jammer alleen dat het daar nergens gaat over packages en imports...

[ Voor 10% gewijzigd door Herko_ter_Horst op 27-05-2012 14:07 ]

"Any sufficiently advanced technology is indistinguishable from magic."


Acties:
  • 0 Henk 'm!

  • Domdo
  • Registratie: Juni 2009
  • Laatst online: 30-06 20:29
Zo wie zo lijkt het erop dat HttpClient gewoon een interface / abstracte class is

Acties:
  • 0 Henk 'm!

Verwijderd

Imports doe je in Eclipse gewoon het best door Ctrl-Shif-o te duwen. Als er meerdere mogelijkheden zijn vraagt Eclipse je automatisch welke hij moet gebruiken.

Acties:
  • 0 Henk 'm!

  • RainerSGF
  • Registratie: Juli 2008
  • Laatst online: 17-09 22:22
Ctrl-shift-o is idd een geniale oplossing hier. Merci!

Systeem - I'm learning, I learn it from a book :)


Acties:
  • 0 Henk 'm!

  • RainerSGF
  • Registratie: Juli 2008
  • Laatst online: 17-09 22:22
Nu ik verder aan het proberen ben, krijg ik wel nog problemen. Zoals ik nu een error krijg met 'HttpResponse' ondanks ik "import org.apache.http.HttpResponse;" gedaan heb (zoals in de voorbeeld-codes beschreven staat). Is er dan iets mis met mijn ge-importeerde libraries of packages?

Systeem - I'm learning, I learn it from a book :)


Acties:
  • 0 Henk 'm!

  • Herko_ter_Horst
  • Registratie: November 2002
  • Niet online
Leer even de API te lezen, dan zie je in welke packages classes zitten. Even 'apache httpresponse' in Google gooien gaat wel helpen.

[ Voor 81% gewijzigd door Herko_ter_Horst op 28-05-2012 22:21 ]

"Any sufficiently advanced technology is indistinguishable from magic."


Acties:
  • 0 Henk 'm!

  • RainerSGF
  • Registratie: Juli 2008
  • Laatst online: 17-09 22:22
OK, k'heb eens de gedownloade httpclient-map doorzocht op zoek naar hetgeen ik nodig had...ik vind hier gelukkig iets van 'httpresponse.class' in terug (onder httpcore-4.2.jar). Nu ik deze ook als library heb toegevoegd in Eclipse denk ik terug een stap dichter bij de oplossing van het probleem te zijn :) .

Systeem - I'm learning, I learn it from a book :)

Pagina: 1