Mi riferito proprio a quei fattori... Non avendoli mai trattati la vedo un po durama farò ricerche.. Oggi pom vedrò dove arrivo
![]()
Mi riferito proprio a quei fattori... Non avendoli mai trattati la vedo un po durama farò ricerche.. Oggi pom vedrò dove arrivo
![]()
Buonasera ragazzio buonanotte, dipende dai casi
Allora devo dire che ho fatto dei grossi passi in avanti... vi spiego cosa ho fatto:
Nel mio programma ho fatto due request http:
Una GET riferita alla pagina di login, la quale mi è servita per andarmi a prendere i tag hidden che cambiano automaticamente ad ogni aggiornamento;
Una POST che invia il pacchetto di dati richiesto dal login inclusi alcuni dei valori che ho estratto dall'html ricavata dalla get.
Il tutto sembra funzionare tranne un particolare..dopo la post, apro l'html generato e mi appare la solita schermata di login con su un messaggio : "Cookie necessari, Sul tuo browser non sono attivati i cookies. Per continuare, attivali."
OK serve settare i cookies nell'header della post... Giusto? credo si faccia in questo modo: connection.setRequestProperty("Cookie", "qualcosa");
Ma quel qualcosa dove lo vado a prendere? Illuminatemi per favore :P
In secondo luogo vi chiedo :
Ho notato analizzando la Post del login in Chrome che nell'header vengono passati una serie di valori, quali :
accept,
accept-encoding,
accept-language,
cache-control,
content-length,
content-type,
cookie,
origin,
referer,
user-agent.
Quali di questi devo passare manualmente?
Scusate la rottura e spero che almeno sia roba interessante da rivedere o ricordare per voi più esperti :P
Innanzitutto gestire i cookie "a mano" andando a leggere/impostare direttamente gli header è ovviamente possibile ma richiede un po' di lavoro. Se guardi la descrizione su Wikipedia (consigliata comunque, in generale):
http://en.wikipedia.org/wiki/HTTP_cookie#Implementation
Vedi che il server invia nella response ciascun singolo cookie con un header Set-Cookie mentre invece il browser rimanda nella request tutti i cookie con un unico header Cookie. E tra l'altro i cookie forniti dal server possono avere domain/path e il client dovrebbe reinviare al server solo quelli che corrispondono a questi dati.
Nel tuo caso comunque puoi analizzare a priori quali cookie ci sono e quindi potresti inviare implicitamente solo quelli che sai essere appropriati. Detto in altre parole: potresti anche evitare gestioni generiche.
Nota:
Tieni presente che da Java 5 e anche Java 6 in poi sono state aggiunte delle classi nel package java.net per gestire più comodamente i cookie. Ti consiglio di leggere il tutorial su questa parte:
http://docs.oracle.com/javase/tutori...ies/index.html
Se hai altri dubbi, chiedi pure.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Ma quindi se ho capito bene:
devo ricavarmi i cookies dalla pagina html prodotta dalla get e passarli alla post??
Solo quelli richiesti dalla post ovviamente...
Ultima modifica di tuturo; 12-04-2014 a 14:17
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
grazie per le dritte![]()