kzen.dev
  • Questions
  • Tags
  • Utilisateurs
Notifications
Récompenses
Inscription
Une fois inscrit, vous serez informé des réponses et des commentaires à vos questions.
Connectez-vous
Si vous avez déjà un compte, connectez-vous pour vérifier les nouvelles notifications.
Il y aura des récompenses pour les questions, réponses et commentaires ajoutés.
Détails
Source
Editer
Yatendra Goel
Yatendra Goel
Question

Comment envoyer une requête HTTP en java ?

En Java, comment composer un message de requête HTTP et l'envoyer à un serveur Web HTTP ?

391 2009-08-31T22:31:10+00:00 3
Yatendra Goel
Yatendra Goel
Question modifiée 8 août 2014 в 3:03
Programmation
http
java
html
httpwebrequest
Cette question a 1 réponse en anglais, pour les lire connectez-vous à votre compte.
Solution / Réponse
 duffymo
duffymo
31 août 2009 в 10:35
2009-08-31T22:35:25+00:00
Détails
Source
Editer
#9429984

Vous pouvez utiliser [java.net.HttpUrlConnection][1].

Exemple ([d'ici][3]), avec des améliorations. Inclus en cas de rotation du lien :

public static String executePost(String targetURL, String urlParameters) {
  HttpURLConnection connection = null;

  try {
    //Create connection
    URL url = new URL(targetURL);
    connection = (HttpURLConnection) url.openConnection();
    connection.setRequestMethod("POST");
    connection.setRequestProperty("Content-Type", 
        "application/x-www-form-urlencoded");

    connection.setRequestProperty("Content-Length", 
        Integer.toString(urlParameters.getBytes().length));
    connection.setRequestProperty("Content-Language", "en-US");  

    connection.setUseCaches(false);
    connection.setDoOutput(true);

    //Send request
    DataOutputStream wr = new DataOutputStream (
        connection.getOutputStream());
    wr.writeBytes(urlParameters);
    wr.close();

    //Get Response  
    InputStream is = connection.getInputStream();
    BufferedReader rd = new BufferedReader(new InputStreamReader(is));
    StringBuilder response = new StringBuilder(); // or StringBuffer if Java version 5+
    String line;
    while ((line = rd.readLine()) != null) {
      response.append(line);
      response.append('\r');
    }
    rd.close();
    return response.toString();
  } catch (Exception e) {
    e.printStackTrace();
    return null;
  } finally {
    if (connection != null) {
      connection.disconnect();
    }
  }
}

[1] : http://download.oracle.com/javase/7/docs/api/java/net/HttpURLConnection.html [2] : http://www.exampledepot.com/egs/java.net/pkg.html [3] : http://www.xyzws.com/Javafaq/how-to-use-httpurlconnection-post-data-to-web-server/139

 artaxerxe
artaxerxe
Réponse modifiée 11 octobre 2019 в 8:03
HttpURLConnection (Java Platform SE 7 )
download.oracle.com
292
0
 Chi
Chi
31 août 2009 в 10:36
2009-08-31T22:36:12+00:00
Détails
Source
Editer
#9429985

Extrait de [Oracle's java tutorial][1]

import java.net.*;
import java.io.*;

public class URLConnectionReader {
    public static void main(String[] args) throws Exception {
        URL yahoo = new URL("http://www.yahoo.com/");
        URLConnection yc = yahoo.openConnection();
        BufferedReader in = new BufferedReader(
                                new InputStreamReader(
                                yc.getInputStream()));
        String inputLine;

        while ((inputLine = in.readLine()) != null) 
            System.out.println(inputLine);
        in.close();
    }
}

[1] : http://java.sun.com/docs/books/tutorial/networking/urls/readingWriting.html

 John
John
Réponse modifiée 25 juillet 2014 в 4:20
222
0
 erickson
erickson
31 août 2009 в 10:38
2009-08-31T22:38:53+00:00
Détails
Source
Editer
#9429986

Je sais que d'autres recommanderont le http-client d'Apache, mais il ajoute une complexité (c'est-à-dire plus de choses qui peuvent mal tourner) qui est rarement justifiée. Pour une tâche simple, java.net.URL fera l'affaire.

URL url = new URL("http://www.y.com/url");
InputStream is = url.openStream();
try {
  /* Now read the retrieved document from the stream. */
  ...
} finally {
  is.close();
}
69
0
Communautés apparentées 1
Java 🇫🇷
Java 🇫🇷
2 utilisateurs
Discutons de Java, de ses framework et de son utilisation Retrouvez d'autres groupes de développeurs francophones sur @dev_fr
Ouvrir telegram
Ajouter une question
Catégories
Toutes
Technologie
Culture / Loisirs
Vie / Arts
Science
Professionnel
Entreprises
Utilisateurs
Tous
Nouveau
Populaire
1
Ilya Smirnov
Enregistré il y a 1 jour
2
Денис Васьков
Enregistré il y a 2 jours
3
Dima Patrushev
Enregistré il y a 5 jours
4
sirojidddin otaboyev
Enregistré il y a 1 semaine
5
Елена Гайдамамакинат
Enregistré il y a 1 semaine
BG
DE
EL
ES
FR
ID
IT
JA
KO
LV
NL
PT
RO
RU
SL
TR
ZH
© kzen.dev 2023
Source
stackoverflow.com
sous licence cc by-sa 3.0 avec l'attribution