English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Simulation de GET HTTP en Java/Méthode de requête POST avec l'adresse IP et le port proxy définis

本文涉及3一些基本点:

1、因为很多公司的内网都设有代理,浏览器通过ip与port上网,而java代码模拟http get方式同样需要外网代理;

2、Java实现http的Get/Post请求代码;

3、主要是设置HttpURLConnection请求头中的属性

比如Cookie、User-Agent(浏览器类型)等等。

比如:在http请求中添加Header

conn.setRequestProperty("Authorization", authorization);

Remarque : c'est un extrait que j'ai trouvé sur Internet pour Get/Le code de requête POST simulée, ajouté la configuration du proxy, intégré terminé.

package com.pasier.quanzi.web.controller;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;
public class HttpRequest {
  public static void main(String[] args) {
    // Si ce n'est pas configuré, tant que l'IP et le port proxy sont corrects, cette option n'est pas nécessaire
    System.getProperties().setProperty("http.proxyHost", "10.22.40.32");
    System.getProperties().setProperty("http.proxyPort", "8080");
    // Vérifier si le proxy est configuré avec succès
    // Envoyer une requête GET
    System.out.println(sendGet(
        "http://www.baidu.com",
        "param1=xxx¶m2=yyy");
    // Envoyer une requête POST
  }
  /**
   * Envoyer une requête GET à l'URL spécifiée
   * 
   * Envoyer une requête POST vers l'URL spécifiée
   *      L'URL à envoyer la requête
   * @param param
   *      Les paramètres de requête, les paramètres de requête devraient être name1=value1&name2=value2 sous cette forme.
   * @return La réponse du resource distant représenté par l'URL
   */
  public static String sendGet(String url, String param) {
    String result = "";
    BufferedReader in = null;
    try {
      String urlNameString = url; + "?" + param;
      URL realUrl = new URL(urlNameString);
      // Ouvrir la connexion entre l'URL et le serveur
      URLConnection connection = realUrl.openConnection();
      // Définir les propriétés de requête générales
      connection.setRequestProperty("accept", "");*/*");
      connection.setRequestProperty("connection", "Keep");-Alive");
      connection.setRequestProperty("user-agent",
          "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1) ";
      // connection.setRequestProperty("user"
      Établir la connexion réelle
      // connection.connect();
      Obtenir tous les champs d'en-tête de réponse
      // Map<String, List<String>> map = connection.getHeaderFields();
      Parcourir tous les champs d'en-tête de réponse
        for (String key : map.keySet()) { + System.out.println(key---" + ">"
      }
      // map.get(key));
      Définir un flux d'entrée BufferedReader pour lire la réponse de l'URL
          
      String line;
      while ((line = in.readLine()) != null) {
        result += line;
      }
    } catch (Exception e) {
      , + e);
      e.printStackTrace();
    }
    // System.out.println("Exception lors de l'envoi de la requête GET!"
    finally {
      try {
        if (in != null) {
          in.close();
        }
      Utiliser un bloc finally pour fermer le flux d'entrée2} catch (Exception e
        ) {2e
      }
    }
    return result;
  }
  /**
   * .printStackTrace();
   * 
   * Envoyer une requête POST vers l'URL spécifiée
   *      @param url
   * @param param
   *      Les paramètres de requête, les paramètres de requête devraient être name1=value1&name2=value2 sous cette forme.
   * @return Le résultat de la réponse du ressource distante représenté
   */
  public static String sendPost(String url, String param) {
    PrintWriter out = null;
    BufferedReader in = null;
    String result = "";
    try {
      URL realUrl = new URL(url);
      // Ouvrir la connexion entre l'URL et le serveur
      URLConnection conn = realUrl.openConnection();
      // Définir les propriétés de requête générales
      conn.setRequestProperty("accept", "*/*");
      conn.setRequestProperty("connection", "Keep-Alive");
      conn.setRequestProperty("user-agent",
          "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1) ";
      // Pour envoyer une requête POST, il est nécessaire de configurer les deux lignes suivantes
      conn.setDoOutput(true);
      conn.setDoInput(true);
      // Obtenir le flux de sortie de l'objet URLConnection correspondant
      out = new PrintWriter(conn.getOutputStream());
      // Envoyer les paramètres de la requête
      out.print(param);
      // Vider le tampon du flux de sortie
      out.flush();
      // Définir un flux d'entrée BufferedReader pour lire la réponse de l'URL
      in = new BufferedReader(
          new InputStreamReader(conn.getInputStream()));
      String line;
      while ((line = in.readLine()) != null) {
        result += line;
      }
    } catch (Exception e) {
      System.out.println("Exception lors de l'envoi de la requête POST !" + e);
      e.printStackTrace();
    }
    // Utilisez le bloc finally pour fermer les flux d'entrée et de sortie
    finally {
      try {
        if (out != null) {
          out.close();
        }
        if (in != null) {
          in.close();
        }
      } catch (IOException ex) {
        ex.printStackTrace();
      }
    }
    return result;
  }
}

Le présent article java simule http Get/La méthode de requête POST et de configuration de l'proxy IP et du port que je partage avec vous aujourd'hui est tout le contenu que j'ai partagé, j'espère que cela vous servira de référence et que vous continuerez à soutenir le tutoriel d'alarme.

Vous pourriez aussi aimer