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