Avatar billede p_gaard Juniormester
01. december 2006 - 21:11 Der er 1 kommentar og
1 løsning

Download af fil med httpclient

Hej,

Jeg har fundet nedenstående kode på nettet. Jeg skal anvende det i et til automatisk at downloade en fil fra en side som kræver adgangskode og password.

Mit problem er at jeg får fejlen "the class HttpAuthRealm is deprecated' (på importlinjen) og 'the constructor HttpAuthRealm is undefined' på "new HttpAuthRealm()". HttpAuthRealm er på importlinjen gennemstreget med en sort linje.

Jeg anvender java version 1.5.0_08.

Er der mon en som kan hjælpe mig med dette problem?


import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.auth.*;
import org.apache.commons.httpclient.methods.*;
import org.apache.*;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.HttpState;
import org.apache.commons.httpclient.auth.*;
import org.apache.commons.httpclient.auth.HttpAuthRealm;
import javax.security.auth.AuthPermission;


public class SecureGetPageExample {
public static void main( String[] args ) {

  try {
    HttpClient client = new HttpClient();
    client.getState().setCredentials(new HttpAuthRealm(), new UsernamePasswordCredentials("", "") );
    GetMethod method = new GetMethod("http://metoffice.com/eucos/data/eucos_daily_2.csv");
    method.setFollowRedirects( true );

    // Execute the GET method
    int statusCode = client.executeMethod( method );
    if( statusCode != -1 ) {
      String contents = method.getResponseBodyAsString();
      method.releaseConnection();
      System.out.println( contents );
    }
  }
  catch( Exception e ) {
    e.printStackTrace();
  }
}
}
Avatar billede runr Nybegynder
02. december 2006 - 11:54 #1
Du kan erstatte 'new HttpAuthRealm()' med 'new AuthScope(null, -1)'

Du kan se syntaksen her http://jakarta.apache.org/commons/httpclient/apidocs/org/apache/commons/httpclient/auth/AuthScope.html
Hvis du vil have GET method til at automatisk håntere authentications skal du tilføje linjen: method.setDoAuthentication( true );
Avatar billede p_gaard Juniormester
02. december 2006 - 20:40 #2
Det virker strålende, tak!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester