Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1471 connectés 

 


Dernière réponse
Sujet : HTTP Header
cthulhu c ce que jai cru pendant un moment, mais en fait la seule methode qui correspondrait a cela c "connect()" et apparemment, chaque setproperty etablit la connexion, car meme en, faisant un disconnect avant, g une exception comme quoi il est deja connecte...
 
merci de ton aide en tous cas... :jap:

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
cthulhu c ce que jai cru pendant un moment, mais en fait la seule methode qui correspondrait a cela c "connect()" et apparemment, chaque setproperty etablit la connexion, car meme en, faisant un disconnect avant, g une exception comme quoi il est deja connecte...
 
merci de ton aide en tous cas... :jap:
zeltron Je ne connais pas les méthodes de la classe que tu utilises mais tu devrais je pense vérifier si il ne faut pas conclure ta série de connection.setRequestProperty(xxxxx) par un appel a une méthode qui envoie la ligne vide au server (a la fin de l'envoi de tous champs du  header)qui lui indique que le header est fini.
cthulhu

zeltron a écrit a écrit :

 
 
Je suis d'accord avec ca mais pour renvoyer le cookie au server il faut que tu utilises le header "Cookie" et non pas "Set-Cookie"  (le header Set-Cookie ne peut être envoyé que par un server).




 
oui, tu as raison, je ne lai pas precise, mais jai tenu compte de cette remarque par la suite, jai modifié cela,...ca ne marche toujours pas, voici mon nouveau code:
 
public void test() {
 HttpURLConnection connection = null;
 PrintWriter out = null;
 BufferedReader in = null;
 String response = null, line = null;
 String boundary=new String("--------------boundary--------------" );
 String streamsend=new String("--"+boundary+"\r\n" );
 try {
  URL url = new URL(URL);
  connection=  (HttpURLConnection) url.openConnection();
  connection.setDoOutput(true);
  connection.setDoInput(true);
  connection.setRequestMethod("POST" );
  connection.setRequestProperty("Content-Type", "text/plain" );
  connection.setRequestProperty("Cookie", "sesessionid=LOU3LVAAAAACPLAQABYR5MY;Path=/" );
  connection.setRequestProperty("Connection", "Keep-Alive" );
  out = new PrintWriter(connection.getOutputStream());
  response = "";
  streamsend+="Content-Type: text/plain";
  streamsend+="\r\n";
  streamsend+="contenu document\r\n";
  streamsend+="--"+boundary+"\r\n";
  out.print(streamsend);
 
   
////////////////////////////////////////////////////
//affichage       //
////////////////////////////////////////////////////
for (int k = 0; connection.getHeaderField(k) != null; k++) {
  if (connection.getHeaderFieldKey(k) != null)response += "\"" +connection.getHeaderFieldKey(k) + ":\"";
   response += connection.getHeaderField(k);
   response += "\n";
   System.out.println(k);
  }
  line = "";
  in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
  while ((line = in.readLine()) != null) {
   response += line;
  }
  in.close();
  out.close();
 }
 catch (Exception e) {
  e.printStackTrace();
  connection.disconnect();
 }
 System.out.println(response+"\n"+streamsend);
}
 
et le resultat:
HTTP/1.1 200 ok
"Date:"Tue, 20 Mar 2001 11:33:16 GMT
"Server:"IBM_HTTP_Server/1.3.6.2 Apache/1.3.7-dev (Win32)
"Connection:"close
"Content-Type:"text/html
 
=>on dirait quil ne tient absolument pas compte de setproperty...

zeltron

Cthulhu a écrit a écrit :

le probleme est que le cookie est genere lors de l'ouverture de la session et doit etre verifier lors dune reouverture




 
Je suis d'accord avec ca mais pour renvoyer le cookie au server il faut que tu utilises le header "Cookie" et non pas "Set-Cookie"  (le header Set-Cookie ne peut être envoyé que par un server).
 
Si le server supporte le HTTP1.1 il doit autoriser pas les connections persistantes si il voit que le client supporte le HTTP. -> Je t'invite à coupler ton header "Connection: Keep-Alive" avec l'option HTTP1.1 que tu paceras apres le nom de fichier à uploader comme ca ca éliminera le cas où le server ignore le header "Connection:" si le client ne spécifie pas qu'il supporte lui aussi le HTTP1.1

 

[edit]--Message édité par zeltron--[/edit]

cthulhu merci de ta reponse, voici les precisions qui pourrait taider a maider....;)
en fait, il sagit denvoyer un requete du client vers le serveur dans l but de faire telecharger un fichier a partir du serveur. le probleme est quele cookie est genere lors de louverture de la session et doit etre verifier lors dune reouverture
voici lentete complete:
 
HTTP/1.1 200 ok
"Date:"Tue, 20 Mar 2001 10:19:41 GMT
"Server:"IBM_HTTP_Server/1.3.6.2 Apache/1.3.7-dev (Win32)
"Set-Cookie:"sesessionid=LOHZRFYAAAACNLAQABYR5MY;Path=/
"Cache-Control:"no-cache="set-cookie,set-cookie2"
"Expires:"Thu, 01 Dec 1994 16:00:00 GMT
"Connection:"close
"Content-Type:"text/html
 
=>je ne passe pas par un proxy
je v de ce pas verifier sur le serveur sil autorise les connections persistantes

 

[edit]--Message édité par Cthulhu--[/edit]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)