1. 程式人生 > >java 通過傳送json,post請求,返回json資料

java 通過傳送json,post請求,返回json資料

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import org.json.JSONArray;
import org.json.JSONObject;

public class GetJsonData {

	public static String getJsonData(JSONObject jsonParam,String urls) {
		StringBuffer sb=new StringBuffer();
		try {
			;
			// 建立url資源
			URL url = new URL(urls);
			// 建立http連線
			HttpURLConnection conn = (HttpURLConnection) url.openConnection();
			// 設定允許輸出
			conn.setDoOutput(true);
                        // 設定允許輸入
                        conn.setDoInput(true);
                       // 設定不用快取
                       conn.setUseCaches(false);
                       // 設定傳遞方式
                       conn.setRequestMethod("POST");
                       // 設定維持長連線
                        conn.setRequestProperty("Connection", "Keep-Alive");
                       // 設定檔案字符集:
                       conn.setRequestProperty("Charset", "UTF-8");
                       // 轉換為位元組陣列
                       byte[] data = (jsonParam.toString()).getBytes();
                      // 設定檔案長度
                       conn.setRequestProperty("Content-Length", String.valueOf(data.length));
                      // 設定檔案型別:
                      conn.setRequestProperty("contentType", "application/json");
                        // 開始連線請求
                       conn.connect();		
                    OutputStream out = new DataOutputStream(conn.getOutputStream()) ;
			// 寫入請求的字串
			out.write((jsonParam.toString()).getBytes());
			out.flush();
			out.close();

			System.out.println(conn.getResponseCode());
			
			// 請求返回的狀態
			if (HttpURLConnection.HTTP_OK == conn.getResponseCode(){
				System.out.println("連線成功");
				// 請求返回的資料
				InputStream in1 = conn.getInputStream();
				try {
				      String readLine=new String();
				      BufferedReader responseReader=new BufferedReader(new InputStreamReader(in1,"UTF-8"));
				      while((readLine=responseReader.readLine())!=null){
				        sb.append(readLine).append("\n");
				      }
				      responseReader.close();
				      System.out.println(sb.toString());
					
				} catch (Exception e1) {
					e1.printStackTrace();
				}
			} else {
				System.out.println("error++");
				
			}

		} catch (Exception e) {

		}
		
		return sb.toString();

	}
	public static void main(String[] args) {
		JSONObject jsonParam = new JSONObject();
		jsonParam.put("id", "1401_1406");
		jsonParam.put("device_size", "480x720");
		String url="www.baidu.com";
		String data=GetJsonData.getJsonData(jsonParam,url);
                //返回的是一個[{}]格式的字串時:                               
                JSONArray jsonArray = new JSONArray(data);                       
               //返回的是一個{}格式的字串時:                       
               /*JSONObject obj= new JSONObject(data);*/      
    }
}


相關推薦

java 通過傳送json,post請求,返回json資料

import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStream; import java.io.InputStreamReader; import java

ajax post請求返回json資料後,頁面不需要重新整理的問題解決如例

<form> <input name="a" type="text" /> <input name="b" type="text" /> <input id="sub" type="button" value="提交" class

HTTP協議post請求返回json資料

有兩種方式:大家詳細看看,非常好用! import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayLis

java通過HttpServletRequest獲取post請求中的body內容

     在java web應用中,我們如何獲取post請求body中的內容?以及需要注意的問題。     通常利用request獲取引數可以直接通過req.getParameter(name)的方式獲取url上面或者ajax data提交上來的引數。但是body是沒有名字

java 通過HttpServletRequest獲取post請求中的body內容

/** * 獲取POST請求中Body引數 * @param request * @return 字串 */ public String getParm(HttpServletRequest request) {

java傳送post請求json陣列形式

public static void dspDaoRu(DspNews dspNews) throws Exception {String result = "";// 新增url引數Map<String, Object> map = new HashMap<

使用jQuery傳送POST,Ajax請求返回JSON格式資料

問題:使用jQuery POST提交資料到PHP檔案, PHP返回的json_encode後的陣列資料,但jQuery接收到的資料不能解析為JSON物件,而是字串{"code":-1,"msg":"12

Java HttpClient 傳送multipart/form-data帶有Json檔案的Post請求

Java HttpClient 傳送multipart/form-data帶有Json檔案的Post請求說明:傳送multipart/form-data帶有Json檔案的Post請求,檔案內容其實就是j

java接收post請求並獲取資料的方法(傳的json不含key)

昨天遇到一個問題 就是在接收post請求的時候獲取不到請求資料,自己用ajax寫的時候沒有問題 這個是報文內容 {"type":"WNING_INFO","code":"WYC","downtime":"2017-01-0101:00:00","busicode

okhttp傳送post請求攜帶json資料,並接收json資料

okhttp工具類: package tools; import com.squareup.okhttp.*; import java.io.File; import java.io.IOException; import java.util.concurrent.TimeUnit; /

java實現HTTP的post請求 key-value格式與json格式的區別

之前寫過介面接收json格式的post請求,當時自己寫完以為可以適應各種報文的傳送,最近對方說要有個”content=傳送內容”,這不就是最簡單的post請求嗎,那直接用我之前寫的http://blog.csdn.net/do_finsh/article/det

JAVA實現HTTPS協議POST請求JSON報文

package https; import java.io.ByteArrayOutputStream;   import java.io.DataOutputStream;   import java.io.IOException;   import java.io.InputStream;   impo

list集合轉換成json資料,ajax請求返回json資料,再通過迴圈顯示出來

之前在網上查了很多關於迴圈顯示ajax返回值的方法,很多都不對的,顯示不了我要的結果。後來自己鼓搗出來了,發出來分享一下自己的成果。因為ajax不能返回集合的,需要把集合list轉換成json返回,再用迴圈的方式,顯示出結果。 操作層 //編碼方式request.set

java/SpringBoot http post請求json資料格式(有詳細註解)

java http post請求傳json資料格式,試了很多的方式,用了下面這個是可以 import net.sf.json.JSONObject; 2 import org.apache.commons.httpclient.*; 3 import

Python中request傳送post請求傳遞json引數的問題

昨天遇到了一個奇怪的問題,在Python中需要傳遞dict引數,利用json.dumps將dict轉為json格式用post方法發起請求:params = {"score":{"gt":"80", "lt":"90"}} request.post(url, json.dump

Java Post請求 傳遞Json引數

1,給介面傳遞json格式的資料 import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamR

beego開發web服務+fiddler模擬Post請求+以json型別傳送資料

最近在做一個告警傳送郵件服務,用到了go+beego。首先為什麼要做成一個服務的形式呢,因為服務的話基於某個協議,如http協議,定義一個資源,如一段文字、一張圖片、一首歌曲、一種服務,然後呼叫者可以用其需要用的語言,如java、scala、go等,而提供此服務的方法只需要

JS中將ajax請求返回json數據動態生成表格顯示在div中

等待 query 客戶端 versions 包含 index 方法 func 數據 1、頁面內容 <div style="width:900px;height:400px;" id="tableInfo"></div> 2、js內容 $.aja

python flask裏 post請求JSON數據獲取方式總結

out ren response 獲取 post task world! json數據 appid #!flask/bin/python #encodig=utf-8 # _*_ coding:utf-8 _*_ # Writer : byz # dateTim

Fiddler抓包7-post請求json

enc ams post提交 dna 類型 info 這一 code 菜單 前言上一篇講過get請求的參數都在url裏,post的請求相對於get請求多了個body部分,本篇就詳細講解下body部分參數的幾種形式。 一、body數據類型 常見的post提交數據類型有四種