[weboob] aide java communiquer CGI

eric eric.dapei at gmail.com
Thu Apr 12 00:10:53 CEST 2012


bonjour, Misterfreez du forum debian m'a orienté vers vous : je n'arrive
pas à récupérer la page "situation financière" sur le site de ma banque.
Je ne suis pas sûr de la validité du résultat d'URLEncoder.encode, je ne
vois pas pourquoi il faut setter la méthode à POST (un request donne GET
mais pourquoi ?), pouvez-vous m'aider ?





import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;

import javax.net.ssl.HttpsURLConnection;


public class bank {

	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		URL url = new
URL("https://www.creditmutuel.fr/cmne/fr/identification/default.cgi"); 
		 HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
		String formData =
URLEncoder.encode("_cm_user=0290012345678&_cm_pwd=12345678",
"iso-8859-1");
	

		    System.out.println(formData);
		    		    

		    try {
		      
		    
		      con.setRequestMethod("POST");

con.setRequestProperty("Content-type","application/x-www-form-urlencoded");
		      con.setDoOutput(true);
		      con.setDoInput(true);
		      
		      
		      PrintStream send_data = new
PrintStream(con.getOutputStream());
		      send_data.print(formData);
		      send_data.close( );
		      // read results...
		      if ( con.getResponseCode(  ) == HttpsURLConnection.HTTP_OK ){
		        System.out.println("Posted ok!");
		        
				
		      }
		      else {
		        System.out.println("Bad post...");
		        return;
		      }
		      
		      
		      
		      
		      File fichier = new File("/home/eric/Bureau/extrait") ;
				
				BufferedWriter ecr = new BufferedWriter (new FileWriter (fichier));
				
		      BufferedReader lit =new BufferedReader(new
InputStreamReader(con.getInputStream()));
		   
		     
		    	  System.out.println ("début");
		    	  if (! fichier.exists())	fichier.createNewFile();
		      do{
		          String ligne=lit.readLine();
		          if(ligne==null)break;
		          ecr.write(ligne);
		      }while(true);
		      System.out.println ("fin");
		      
		     
		      
		      
		      lit.close(); ecr.close(); con.disconnect();
		      

		      
		      
		    } catch (MalformedURLException e) {
		      System.out.println(e);     // bad postURL
		    } catch (IOException e2) {
		      System.out.println(e2);    // I/O error
		    }
		  }
	}




More information about the weboob mailing list