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

javaでHTTPのGETをシミュレート/POSTリクエストを行い、IPとポートのプロキシを設定する方法

本文では3基本点:

1、多くの企業の内網にはプロキシが設定されており、ブラウザはIPとポートを通じてインターネットに接続しますが、JavaコードがHTTP GETメソッドをシミュレートする場合もインターネットプロキシが必要です;

2、JavaでHTTPのGETを実現/POSTリクエストコード;

3、主にHttpURLConnectionリクエストヘッダー内の属性を設定

例えばCookie、User-エージェント(ブラウザの種類)など。

例えば:HTTPリクエストにヘッダーを追加

conn.setRequestProperty("Authorization", authorization);

注:我就在网上找的一段Get/Post模拟请求代码,添加了下代理的配置,整合完成的。

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 {
  
    // 
    10.22.432");
    808
    // 
    // 
    System.out.println(sendGet(
        "http://
        12=yyy"));", "第15段":"=xxx¶m", "第16段":""param", "第17段":"www.baidu.com",
    // POST リクエストを送信
  }
  /**
   * 指定された URL に GET メソッドのリクエストを送信
   * 
   * 向指定 URL 發送 POST 方法的請求
   *      送信する URL
   * @param param
   *      請求參數,請求參數應該是 name1=value1&name2=value2 的形式。
   * @return URL が表す遠隔リソースの応答結果
   */
  public static String sendGet(String url, String param) {
    String result = "";
    BufferedReader in = null;
    try {
      String urlNameString = url + "?" + 
      
      // 開啟與URL之間的連接
      
      // 設定一般的請求屬性
      */*");
      connection.setRequestProperty("connection", "Keep-Alive", "第2段":"connection.setRequestProperty("accept", "", "第3段":"URLConnection connection = realUrl.openConnection();", "第4段":"URL realUrl = new URL(urlNameString);", "第5段":"param;-Alive");
      connection.setRequestProperty("user"-agent",
          "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)";
      // 建立實際的連接
      connection.connect();
      // 獲取所有反應頭字段
      Map<String, List<String>> map = connection.getHeaderFields();
      // 遍歷所有的反應頭字段
      for (String key : map.keySet()) {
        System.out.println(key + "---">" + map.get(key));
      }
      // 定義 BufferedReader 輸入流以讀取 URL 的反應
      in = new BufferedReader(new InputStreamReader(
          connection.getInputStream()));
      String line;
      while ((line = in.readLine()) != null) {
        result += line;
      }
    } catch (Exception e) {
      System.out.println("發送 GET 請求出現異常!" + e);
      e.printStackTrace();
    }
    // 使用 finally 块來關閉輸入流
    finally {
      try {
        if (in != null) {
          in.close();
        }
      catch (Exception e2}
        ) {2e
      }
    }
    return result;
  }
  /**
   * .printStackTrace();
   * 
   * 向指定 URL 發送 POST 方法的請求
   *      @param url
   * @param param
   *      請求參數,請求參數應該是 name1=value1&name2=value2 的形式。
   * @return 表示遠端資源的反應結果
   */
  public static String sendPost(String url, String param) {
    PrintWriter out = null;
    BufferedReader in = null;
    String result = "";
    try {
      URL realUrl = new URL(url);
      // 開啟與URL之間的連接
      URLConnection conn = realUrl.openConnection();
      // 設定一般的請求屬性
      conn.setRequestProperty("accept", "*/*");
      conn.setRequestProperty("connection", "Keep-Alive");
      conn.setRequestProperty("user-agent",
          "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)";
      // POSTリクエストを送信するには、以下の2行を設定する必要があります
      conn.setDoOutput(true);
      conn.setDoInput(true);
      // URLConnectionオブジェクトが対応する出力ストリームを取得します
      out = new PrintWriter(conn.getOutputStream());
      // リクエストパラメータを送信します
      out.print(param);
      // 出力ストリームのバッファをフラッシュします
      out.flush();
      // URLの応答を読み取るためのBufferedReader入力ストリームを定義します
      in = new BufferedReader(
          new InputStreamReader(conn.getInputStream()));
      String line;
      while ((line = in.readLine()) != null) {
        result += line;
      }
    } catch (Exception e) {
      System.out.println("POSTリクエストの送信中に例外が発生しました!" + e);
      e.printStackTrace();
    }
    // finallyブロックを使用して、出力ストリーム、入力ストリームを閉じます
    finally {
      try {
        if (out != null) {
          out.close();
        }
        if (in != null) {
          in.close();
        }
      } catch (IOException ex) {
        ex.printStackTrace();
      }
    }
    return result;
  }
}

以上のjavaのhttpのGetシミュレーション/Post リクエスト、ipとportのプロキシを設定する方法は、編集者が皆さんに共有したすべての内容です。皆さんに参考になれば幸いですし、ガイドのサポートを多くいただければと思います。

おすすめ