1. 程式人生 > >java傳送http的get、post請求,使用fastjson傳json格式資料(application/json)

java傳送http的get、post請求,使用fastjson傳json格式資料(application/json)

GET方式:

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 {
    /**
     * 向指定URL傳送GET方法的請求
     * 
     * @param url
     *            傳送請求的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 + "?" + param;
            URL realUrl = new URL(urlNameString);
            // 開啟和URL之間的連線
            URLConnection connection = realUrl.openConnection();
            // 設定通用的請求屬性
            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.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) {
                e2.printStackTrace();
            }
        }
        return result;
    }

    /**
     * 向指定 URL 傳送POST方法的請求
     * 
     * @param url
     *            傳送請求的 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請求必須設定如下兩行
            conn.setDoOutput(true);
            conn.setDoInput(true);
            // 獲取URLConnection物件對應的輸出流
            out = new PrintWriter(conn.getOutputStream());
            // 傳送請求引數
            out.print(param);
            // flush輸出流的緩衝
            out.flush();
            // 定義BufferedReader輸入流來讀取URL的響應
            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;
    }    
}

POST方式:

package com.thunisoft.np.fy.api;

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 com.alibaba.fastjson.JSONObject;

/**
 * Demo
 * @author swh
 * @version 1.0
 *
 */
public class Demo {
    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請求必須設定如下兩行
            conn.setDoOutput(true);
            conn.setDoInput(true);
            // 獲取URLConnection物件對應的輸出流
            out = new PrintWriter(conn.getOutputStream());
            // 傳送請求引數
            out.print(param);
            // flush輸出流的緩衝
            out.flush();
            // 定義BufferedReader輸入流來讀取URL的響應
            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;
    }

    public static void main(String[] args) {
        JSONObject jsonobject = new JSONObject();
        jsonobject.put("gxrq", "2018/07/06 18:30:26");
        jsonobject.put("pageNo", 1);
        jsonobject.put("pageSize", 10);
        jsonobject.put("fyId", 2400);
        jsonobject.put("ajlx", 1);
        //傳送 POST 請求
        String sr = Demo.sendPost("http://localhost:8585/export15xml_frame/.senddatas",
            jsonobject.toJSONString());
        System.out.println(sr);
    }
}

相關推薦

java傳送http的getpost請求使用fastjsonjson格式資料application/json

GET方式: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import ja

JAVA傳送http get/post請求呼叫http介面方法

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; impo

Java傳送http get/post請求呼叫介面/方法

由於專案中要用,所以找了一些資料,整理下來。 GitHub地址: https://github.com/iamyong    轉自:http://blog.csdn.net/capmiachael/article/details/51833531 例1:使用 HttpCl

java 傳送getpost請求並接收請求結果

直接上程式碼: public class HttpRequest {     /**      * 向指定URL傳送GET方法的請求      *       * @param url      *            傳送請求的URL      * @param par

SpringCloud 之 Fegin —— 傳送GETPOST請求以及檔案上

                       深信自己通過學習理解寫出來的才是自己的 --

基於OkHttp網路通訊工具類(傳送getpost請求檔案上和下載)

一、為什麼要用OkHttp? okhttp是專注於提升網路連線效率的http客戶端。 優點: 1、它能實現同一ip和埠的請求重用一個socket,這種方式能大大降低網路連線的時間,和每次請求都建立socket,再斷開socket的方式相比,降低了伺服器伺服器的壓力。 2、okhttp 對

向指定地址傳送getpost請求

URL的openConnection()方法將返回一個URLConnection物件,該物件表示應用程式和 URL 之間的通訊連結。程式可以通過URLConnection例項向該URL傳送請求、讀取URL引用的資源。 通常建立一個和 URL 的連線,併發送請求、讀取此 URL 引用的資源需要如下幾個

RestTemplate傳送get和post請求下載檔案

下圖是我的所有測試介面,包含兩個表單提交介面和一個Rest介面: 我是用的Http請求工具是Spring自帶的RestTemplate。 請求的方法如下: 三個請求分別對應三個介面,在此記錄下。 下載檔案,獲取檔案位元組流: RestTemplate restTe

JavaWeb之不同Tomcat版本對getpost請求中文亂碼問題

Myeclipse安裝時的前期工作空間的編碼準備,就不說了 Tomcat8 public class dd extends HttpServlet { private static final

Java 傳送https 的post請求方法

import java.io.BufferedReader;   import java.io.FileInputStream;   import java.io.IOException;   import java.io.InputStreamRead

php http傳送getpost請求的幾種方法

方法1: 用file_get_contents 以get方式獲取內容 <?php $url='http://www.domain.com/'; $html = file_get_contents($url); echo $html; ?> 方法

axios傳送post請求springMVC接收不到資料問題

最近做專案的時候,前端非同步請求用到了尤大推薦的axios,發現一個問題,就是POST請求的時候,後臺人員說他們的接口裡面取不到我傳過去的資料。案例重現axios.jslet axios = import('axios'); instance = axios.create({ baseURL: '/ghc

使用file_get_contents() 傳送GETPOST請求

伺服器端執行HTTP請求,大家經常使用的就是CURL,curl工具的確是很好的資料檔案傳輸工具,那麼除此之外還有其他的工具能實現這個功能嗎? 現在為你介紹一個很常見的工具 file_get_content()   納尼,這不是PHP檔案操作函式嗎??? 竟然還能實現GET POST 請求??? 這裡

php 中使用cURL發送get/post請求圖片批處理

cit gda 抓取 記錄 rem 學習 網頁 lose XML https://mp.weixin.qq.com/s/8luqMEd8xt8oJxFLLCU1XA 文章正文 cURL是利用url語法規定傳輸文件和數據的工具。php中有curl拓展,一般用來實現網絡抓取,模

jqGrid post請求重新獲取引數載入資料

  最近使用jqgrid開發一個介面,挺易用的一個框架,直接複用現有的程式碼,使用get請求傳參,拼接在url後面,遇到了輸入框修改引數後後臺數據獲取不到的問題。 這個問題糾結了半天,通過搜尋網頁,瞭解jqGrid有觸發器可以重新載入資料。 $('#Bu

解決Vue axios post請求後臺獲取不到資料問題

最近做專案,需要用到vue,後臺是php,第一次使用axios進行請求,本以為同ajax一樣,會很簡單,但是結果往往不讓人滿意啊,get請求很簡單,這裡就不說了,主要說下 post請求方式。使用axios進行post請求,後臺居然接收不到資料,這就納悶了,於是網上一頓搜尋,現

JAVA 爬蟲之httpclient post請求提交表單獲取Ajax資料

public static String httpPostWithJSON(String url) throws Exception { HttpPost httpPost = n

2Tomcat叢集並用Nginx實現負載均衡win環境

1、Tomcat的配置 1、系統環境變數配置: 首先要實現Tomcat的叢集就得擁有多個tomcat,所以我在本地電腦下載了兩個Tomcat,我這裡使用的是Tomcat7,當然,配置與Tomcat的版本沒多大關係~ 下載之後我們先來配置好環境變數: 在我們的系統變數中增加上

webservice 教程學習系列(六)——監聽請求使用eclipse的TCP_IP工具埠轉發

有的情況我們本身的開發機可能不能連線網際網路,但是我們需要呼叫一些網際網路的介面,到時候放在生產伺服器就可以直接呼叫。那麼我們繼續使用上次說的直接在dos視窗上面解析wsdl的URL連結就不行了,因為連線不通。 這個時候我們就可以 使用eclipse的這個TCP_IP工具了。 首先

HTTPClient呼叫https請求通過基本認證使用者名稱密碼Basic Auth

本文來源是Apache官網例子:http://hc.apache.org/httpcomponents-client-4.5.x/httpclient/examples/org/apache/http/examples/client/ClientAuthentication.java 之前找