Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    20

    Effettuare una sorta di login su un sito

    Ciao a tutti, sto creando un programma e questo programma dovrebbe immettere un valore nel search form di questa pagina: http://www.gamersfirst.com/warrock/?...SearchRankings e successivamentre ottenere i dati che vengono visti a video.
    Ecco un'immagine che spiega bene

    Spero che qualcuno mi possa aiutare.
    Grazie mille in anticipo
    OS: Mac Os X
    Linguaggi C/Java

  2. #2
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    Quando fai una richiesta ottieni dell'html, che altro non è che dell'XML ( teoricamente ) correttamente formattato.
    Ora analizzi e cerchi all'interno dell'XML i valori che ti interessano.
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    20
    Sì, è proprio quello che volevo fare, il problema è che non so come ottenere il codice XML, cioè non so come riempire il text box di search.
    OS: Mac Os X
    Linguaggi C/Java

  4. #4
    Puoi utilizzare la classe HttpURLConnection per effettuare una singola request verso la pagina di submit del search passandogli i parametri in post e poi recuperare la pagina html di risposta dalla quale potrai estrapolare i dati che ti interessano.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    20
    Originariamente inviato da satifal
    Puoi utilizzare la classe HttpURLConnection per effettuare una singola request verso la pagina di submit del search passandogli i parametri in post e poi recuperare la pagina html di risposta dalla quale potrai estrapolare i dati che ti interessano.
    sì avevo visto qualche cosa del genere. Non potresti essere un po' più preciso (magari con del codice), sono andato a vedere la pagina della documentazione sun, ma non capisco come usare questa classe.
    Grazie ancora e scusate l'ignoranza
    OS: Mac Os X
    Linguaggi C/Java

  6. #6
    Dovresti scrivere una cosa del genere:

    codice:
    public void request() {
    	try {
    		String param = URLEncoder.encode("parametro", "UTF-8") + "=" + URLEncoder.encode("valore", "UTF-8");
    		URL url = new URL("url da invocare ES: http://www.sito.com/pagina.php");
    		HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    		conn.setDoOutput(true);
    		conn.setRequestMethod("POST");
    		conn.setRequestProperty("Content-Length", "" + param.getBytes().length);
    		DataOutputStream printout = new DataOutputStream (conn.getOutputStream());
    		printout.writeBytes(param);
    		printout.flush();
    		printout.close();
    		BufferedReader inn = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    		String decodedString2;
    		while ((decodedString2 = inn.readLine()) != null) {
    		    System.out.println(decodedString2);
    		}
    		inn.close();
    	} catch (Exception e) {
    		e.printStackTrace();
    	}
    }
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    20
    Grazie mille, ho fatto come dici tu, ma così facendo ottengo il codice di tutta la pagina, che non contiene le informazioni che servono al programma.
    Ecco il tuo codice modificato, magari riesci a capire dove sbaglio. Dove tu hai scritto parametro e valore io li ho sostituiti titti con la stessa cosa, non so se sia giusto.
    codice:
    import java.net.URLEncoder;
    import java.net.URL;
    import java.net.HttpURLConnection;
    import java.io.DataOutputStream;
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    
    public class GetInformationsWarrock 
    	{
    
    	public GetInformationsWarrock()
    		{
    			request();			
    		}
    		public void request() {
    			try {
    				String param = URLEncoder.encode("c4mpusnos", "UTF-8") + "=" + URLEncoder.encode("c4mpusnos", "UTF-8");
    				URL url = new URL("http://www.gamersfirst.com/warrock/?q=ClanSearchRankings");
    				HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    				conn.setDoOutput(true);
    				conn.setRequestMethod("POST");
    				conn.setRequestProperty("Content-Length", "" + param.getBytes().length);
    				DataOutputStream printout = new DataOutputStream (conn.getOutputStream());
    				printout.writeBytes(param);
    				printout.flush();
    				printout.close();
    				BufferedReader inn = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    				String decodedString2;
    				while ((decodedString2 = inn.readLine()) != null) {
    					System.out.println(decodedString2);
    				}
    				inn.close();
    			} catch (Exception e) {
    				e.printStackTrace();
    			}
    		}
    	 public static void main(String args[]) {
    		new GetInformationsWarrock();
    	 }
    
    }
    OS: Mac Os X
    Linguaggi C/Java

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.