Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando
Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando
Abbiamo giocato a lungo a Battlefield 6, abbiamo provato tutte le modalità multiplayer, Redsec, e le numerose personalizzazioni. In sintesi, ci siamo concentrati su ogni aspetto del titolo per comprendere al meglio uno degli FPS più ambiziosi della storia dei videogiochi e, dopo quasi due mesi, abbiamo tirato le somme. In questo articolo, condividiamo con voi tutto ciò che è Battlefield 6, un gioco che, a nostro avviso, rappresenta esattamente ciò che questo genere attendeva da tempo
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Abbiamo messo alla prova il drone Antigravity A1 capace di riprese in 8K a 360° che permette un reframe in post-produzione ad eliche ferme. Il concetto è molto valido, permette al pilota di concentrarsi sul volo e le manovre in tutta sicurezza e decidere con tutta tranquillità come gestire le riprese. La qualità dei video, tuttavia, ha bisogno di uno step in più per essere competitiva
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-07-2015, 13:45   #1
JohnMarston
Member
 
Iscritto dal: Jun 2013
Messaggi: 133
[java] Aprire browser con URL contenente parametri in Post

Ciao! Dal mio programma java, usando la classe Desktop() riesco ad aprire la pagina che desidero sul mio browser. Ma il mio problema è che la pagina, scritta in php, per far visualizzare il contenuto, deve ricevere dei parametri in POST. Quindi come faccio a passarli? Sapete come fare?
JohnMarston è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2015, 13:47   #2
Easlay93
Senior Member
 
L'Avatar di Easlay93
 
Iscritto dal: Feb 2014
Città: Bergamo
Messaggi: 644
utilizza le rest api in java
__________________
trattative concluse con : ipertotix, lele2004,Jeremy01,geminiII,antoniox,offdexter87,spedito83,francisco9751,Danny1
Easlay93 è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2015, 14:50   #3
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Non è chiaro se desideri veramente aprire la pagina nel browser o se stai semplicemente cercando di fare una post. Nel secondo caso non c'è bisogno di aprire il browser, java supporta nativamente i socket e grazie ad essi sono state implementate numerosi client http.

Se invece vuoi proprio che l'utente veda il browser con la pagina web ci sono varie possibilità più o meno complesse. La più semplice che mi viene in mente è questa:
1) da java crea un file html nel quale inserisci un form con tutti i parametri, ed aggiungi una funzione javascript per sottomettere automaticamente il form al caricamento della pagina;
2) esegui il browser passando come indirizzo: "file:///path_assoluto_del_file_creato", per esempio: "iexplorer.exe file:///C:/post.html".
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2015, 14:53   #4
JohnMarston
Member
 
Iscritto dal: Jun 2013
Messaggi: 133
Quote:
Originariamente inviato da Easlay93 Guarda i messaggi
utilizza le rest api in java
devo aprire la pagina in un browser, non in stream...
JohnMarston è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2015, 15:03   #5
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Allora puoi provare la soluzione che ho proposto.

In alternativa, se il server è tuo (nel senso che puoi scriverci del codice) potresti anche iniettargli i dati dall'app java (salvandoli ad esempio in un db o un file temporaneo) e generare un id da usare nell'url per richiamare tali dati dal browser usando una semplice get.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2015, 15:05   #6
JohnMarston
Member
 
Iscritto dal: Jun 2013
Messaggi: 133
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
Non è chiaro se desideri veramente aprire la pagina nel browser o se stai semplicemente cercando di fare una post. Nel secondo caso non c'è bisogno di aprire il browser, java supporta nativamente i socket e grazie ad essi sono state implementate numerosi client http.
Sarà il caldo...
Devo aprire una pagina attraverso il browser, credo di essere stato chiaro...
La pagina d'altra parte per mostrare il contenuto deve ricevere un parametro che dev'essere passato attraverso post e non get. Se fosse get, l'avrei già fatto....

Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
Se invece vuoi proprio che l'utente veda il browser con la pagina web ci sono varie possibilità più o meno complesse. La più semplice che mi viene in mente è questa:
1) da java crea un file html nel quale inserisci un form con tutti i parametri, ed aggiungi una funzione javascript per sottomettere automaticamente il form al caricamento della pagina;
... scherzi vero??

Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
2) esegui il browser passando come indirizzo: "file:///path_assoluto_del_file_creato", per esempio: "iexplorer.exe file:///C:/post.html".
non è quello che devo fare...
JohnMarston è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2015, 15:14   #7
JohnMarston
Member
 
Iscritto dal: Jun 2013
Messaggi: 133
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
Allora puoi provare la soluzione che ho proposto.

In alternativa, se il server è tuo (nel senso che puoi scriverci del codice) potresti anche iniettargli i dati dall'app java (salvandoli ad esempio in un db o un file temporaneo) e generare un id da usare nell'url per richiamare tali dati dal browser usando una semplice get.
No no... Tu scherzi...
Per una variabile in post devo fare tutto sto macello?? No no l'ho detto, è il caldo...

Per quale ragione devo passare in get se voglio oscurare il parametro che passo?? Ci sarà un motivo se passo in post...
Piuttosto se dovessi passare in get cripto la variabile e aggiungo alla stringa dell'url... Dalla pagina catturo il parametro decripto e ho risolto. Ma non ho intenzione di muovermi in questa direzione... Per una sola variabile devo fare tutto sto casino... Non ci credo è impossibile... Sicuramente c è un modo per aprire sto browser passando url con parametro post...
JohnMarston è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2015, 15:16   #8
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Quote:
Sarà il caldo...
Devo aprire una pagina attraverso il browser, credo di essere stato chiaro...
In realtà sei stato chiarissimo, solo che non è raro imbattersi in gente che chiede come fare cose estremamente articolate e poi scoprire che ciò che gli serviva in realtà richiedeva uno sforzo irrisorio. Vedo che non è questo il caso, ma preferisco sempre accertarmene

Quote:
... scherzi vero??
No, non è uno scherzo, è una soluzione che funziona egregiamente. So che da questa affermazione potrebbero scatenarsi flame senza fine, ai quali mi riprometto di non rispondere. Tu tienila in considerazione.

EDIT: non avevo ancora visto il tuo ultimo post, ci penserò su...
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2015, 15:29   #9
JohnMarston
Member
 
Iscritto dal: Jun 2013
Messaggi: 133
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
No, non è uno scherzo, è una soluzione che funziona egregiamente. So che da questa affermazione potrebbero scatenarsi flame senza fine, ai quali mi riprometto di non rispondere. Tu tienila in considerazione.

EDIT: non avevo ancora visto il tuo ultimo post, ci penserò su...
No ma va quale flame!!! Mi sparo un colpo se partono i flame... Mi credi che sto perdendo mezza giornata per questa cosa??

Riguardo al tuo suggerimento, mi sembra un po' eccessivo ho come l'impressione che mi hai frainteso o sono io che non ti seguo. Ma dall'altra parte, cioè nella pagina, ho questo:

Codice PHP:
if(isset($_POST["variabile"])){
$variabile=$_POST["variabile"];
//mostra contenuto pagina 
Quindi se fosse in get, dal programma a me basta aggiungere all'url la variabile criptata:
Codice:
String url = "http://miosito.com/req.php?variabile="+variabile;
Desktop.getDesktop().browse(new URI(url));
Ma per evitare volevo vedere se era possibile andare in post...
JohnMarston è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2015, 15:30   #10
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Quote:
Per quale ragione devo passare in get se voglio oscurare il parametro che passo?? Ci sarà un motivo se passo in post...
Prima hai detto solo che volevi fare una post con il browser, non hai detto che era per oscurare i parametri, la post non serve (solo) a quello.

L'unico modo "standard" che conosco di passare qualcosa al browser è tramite url, ed ovviamente l'url non può essere nascosto.
Criptare la variabile ha un'utilità abbastanza limitata, anche se non si capisce quale sia il valore reale, può sempre essere riutilizzata.
Piuttosto dovresti generare dei token monouso e a scadenza, e passarli nell'url.

Ho capito che non vuoi passare sul disco... e lo standard input? Non so quanto sia portabile, vedi se ti va bene questo: http://unix.stackexchange.com/questi...fox-read-stdin
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2015, 15:33   #11
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Ma in pratica questa variabile che cos'è? Una password?
Se si, è personale dell'utente che usa il software, o è di un'utenza tecnica (condivisa da più utenti)?

Se fornisci queste informazioni forse si può trovare una soluzione migliore, magari potrebbero anche venire alla luce falle di sicurezza...
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2015, 15:41   #12
JohnMarston
Member
 
Iscritto dal: Jun 2013
Messaggi: 133
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
1) da java crea un file html nel quale inserisci un form con tutti i parametri, ed aggiungi una funzione javascript per sottomettere automaticamente il form al caricamento della pagina;
Ok, ragionando sul tuo suggerimento, come fai a passare le variabili alla funzione javascript?? Non lo risolvi così, o meglio, non so come tu voglia impostare la cosa, ma dal mio punto di vista il problema non lo risolvi. Alla funzione servirà un parametro e come fai a passarlo dal programma java alla pagina??

Un conto se, la pagina che ricevere e si deve aprire, accetta una "costante" e quindi mostra il contenuto, indipendentemente da chi effettua l'azione, ma che ragione avrei di passarla in post? La lascio nella pagina metto link e si apre il browser con tutto il contenuto oppure la tolgo del tutto...
A me occorre quella variabile perché rintraccio l'utente attraverso quel parametro e mostro il rispettivo contenuto...

Poi se tu riesci a risolvere tutte queste problematiche sarò lieto di implementare il tuo suggerimento. Posta qualche riga così capisco meglio come lo risolvi.
JohnMarston è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2015, 15:46   #13
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
La variabile viene cablata nel form html all'atto della scrittura del file.
Ecco il pseudo-codice da inserire nel programma java:
Codice:
String s = "<html>
  <form name="mio_form" method=\"post\" action=\"http://miosito.com/req.php\">
    <input type=\"hidden\" name=\"variabile\" value=\"" + variabile + "\">
  </submit>
  <script>
    forms['mio_form'].submit();
  </script>
</html>";
ClasseACME.writeStringToFile(s, "C:\submit.html");
Process p = ClasseACME.execute("iexplorer.exe file:///C:/submit.html");
Thread.sleep(2000);
ClasseACME.delete("C:\submit.html");
Può darsi che abbia sbagliato la sintassi del codice javascript, non la ricordo a memoria, ma il concetto è quello.

Il programma java crea una pagina web sul disco locale contente un form già precompilato che punta al tuo sito.
Quando il browser apre il file, il codice javascript sottomette automaticamente il form, e nel browser viene visualizzata direttamente la risposta alla post del tuo sito.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2015, 15:48   #14
JohnMarston
Member
 
Iscritto dal: Jun 2013
Messaggi: 133
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
Prima hai detto solo che volevi fare una post con il browser, non hai detto che era per oscurare i parametri, la post non serve (solo) a quello.
Ma scusa dove vedi scritto che io devo fare una post?? Ho scritto che devo passare un parametro in post attraverso url.
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
L'unico modo "standard" che conosco di passare qualcosa al browser è tramite url, ed ovviamente l'url non può essere nascosto.
Esatto, però la variabile la devo oscurare...

Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
Criptare la variabile ha un'utilità abbastanza limitata, anche se non si capisce quale sia il valore reale, può sempre essere riutilizzata.
Ma infatti per questa ragione non desidero passare la variabile in get ma in post...
JohnMarston è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2015, 15:53   #15
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Quote:
Ho scritto che devo passare un parametro in post attraverso url.
Nun se po fa

Comunque puoi inventarti quello che vuoi, l'utente smaliziato, l'acaro di turno, riuscirà sempre a spiare quello che esce dal proprio pc. Se è per un esperimento o per un progetto amatoriale va bene, ma non affiderei mai il mio conto corrente ad un sistema del genere.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2015, 15:54   #16
JohnMarston
Member
 
Iscritto dal: Jun 2013
Messaggi: 133
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
La variabile viene cablata nel form html all'atto della scrittura del file.
Ecco il pseudo-codice da inserire nel programma java:
Codice:
String s = "<html>
  <form name="mio_form" method=\"post\" action=\"http://miosito.com/req.php\">
    <input type=\"hidden\" name=\"variabile\" value=\"" + variabile + "\">
  </submit>
  <script>
    forms['mio_form'].submit();
  </script>
</html>";
ClasseACME.writeStringToFile(s, "C:\submit.html");
Process p = ClasseACME.execute("iexplorer.exe file:///C:/submit.html");
Thread.sleep(2000);
ClasseACME.delete("C:\submit.html");
Può darsi che abbia sbagliato la sintassi del codice javascript, non la ricordo a memoria, ma il concetto è quello.

Il programma java crea una pagina web sul disco locale contente un form già precompilato che punta al tuo sito.
Quando il browser apre il file, il codice javascript sottomette automaticamente il form, e nel browser viene visualizzata direttamente la risposta alla post del tuo sito.
Ooooh va che bravo... adesso ho capito cosa suggerivi di fare... Devo provare e ti faccio sapere, anche se non mi sono chiari alcuni passaggi.
Ma è già qualcosa, ti ringrazio!

A occhio credo che funzioni... Sei stato molto gentile!!!!

Ultima modifica di JohnMarston : 28-07-2015 alle 16:23.
JohnMarston è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2015, 15:58   #17
JohnMarston
Member
 
Iscritto dal: Jun 2013
Messaggi: 133
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
Nun se po fa
Questa è già una risposta!!! Con un "non si può fare", alla fine si cerca la furbata per bypassare il limite, ma fino ad ora credimi che non ho letto da nessuna parte che non si poteva fare...
JohnMarston è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2015, 16:37   #18
JohnMarston
Member
 
Iscritto dal: Jun 2013
Messaggi: 133
problemi qui...
cosa serve che non mi è chiaro il passaggio??
Codice:
ClasseACME.writeStringToFile(s, "C:\submit.html");
Process p = ClasseACME.execute("iexplorer.exe file:///C:/submit.html");
Thread.sleep(2000);
ClasseACME.delete("C:\submit.html");

"ClasseACME" sta per?
JohnMarston è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2015, 17:37   #19
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Hai mai visto Wile il coyote? Tutti i marchingegni che utilizzava erano prodotti dalla ACME (A Company Making Everything, ovvero azienda che produce qualsiasi cosa); siccome non ricordo o non esistono classi standard per fare quelle operazioni ho supposto l'esistenza di una fantomatica Class Making Everything.
Conosci giá la classe per aprire il browser, dovrai usare un filewriter per scrivere il file. La classe file ti consente di cancellare il file.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2015, 17:43   #20
JohnMarston
Member
 
Iscritto dal: Jun 2013
Messaggi: 133
ok direi che grazie all'intervento di Daniels118 ho risolto... Nel mio piccolo ho aggiunto qualcosa per correggere.
Posto il codice, magari a qualcuno può servire.

Codice:
import org.apache.commons.io.FileUtils;

    public void sendPost(String variabile) {

        try {

            String s = "<html>\n" +
                        "<form name=\"FormType\" method=\"post\" action=\"http://miosito.com/req.php\">\n" +
                        "<input type=\"hidden\" name=\"variabile\" value=\""+variabile+"\">\n" +
                        "</form>\n" +
                        "<script type=\"text/javascript\">\n" +
                        "  function autoClick () {\n" +
                        "  document.forms[\"FormType\"].submit();\n" +
                        "   }\n" +
                        " window.onload = autoClick;\n" +
                        "</script> 	\n" +
                        "</html>";        

            File htmlTemplateFile = new File("C:\\temp\\submit.html");      
            FileUtils.writeStringToFile(htmlTemplateFile, s);
            Desktop.getDesktop().open(htmlTemplateFile);
            try {         
                Thread.sleep(2000);
            } catch (InterruptedException ex) {
                ex.printStackTrace();
            }
            htmlTemplateFile.delete();
            
        } catch (IOException e){
            e.printStackTrace();
        }        
    }
JohnMarston è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando Due mesi di Battlefield 6: dalla campagna al bat...
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare Antigravity A1: drone futuristico per riprese a ...
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
SpaceX: capitalizzazione di 800 miliardi...
'L'UE dovrebbe essere abolita': la spara...
Non solo smartphone: Samsung sta lavoran...
Nessuno vuole comprare iPhone Air: il va...
Porsche Taycan 2027 elettrica con cambio...
Roscosmos: stazione spaziale russa ROS a...
Auto 2035, sei governi UE (c'è l'...
Chernobyl: la cupola di contenimento non...
SSD come CPU: queste memorie sono in gra...
La previsione di CATL: barche elettriche...
Stangata in arrivo: PC e notebook coster...
Lian Li si è inventata il primo a...
Amazon in raptus sconti: ogni 24 ore nov...
44 idee regalo sotto i 50€: con le offer...
Super Sconti Amazon Haul: ribassi fino a...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:53.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v