1. 程式人生 > >httpPost對JSON傳送和接收

httpPost對JSON傳送和接收

public static String postURL(String commString, String address, String encode) {
        String rec_string = "";
        URL url = null;
        HttpURLConnection urlConn = null;
        try {
			/*得到url地址的URL類*/
            url = new URL(address);
			/*獲得開啟需要傳送的url連線*/
            urlConn = (HttpURLConnection) url.openConnection();
			/*設定連線超時時間*/
            urlConn.setConnectTimeout(30000);
			/*設定讀取響應超時時間*/
            urlConn.setReadTimeout(30000);
			/*設定post傳送方式*/
            urlConn.setRequestMethod("POST");
			/*傳送commString*/
            urlConn.setDoOutput(true);
            urlConn.setDoInput(true);
            OutputStreamWriter out;
            out = new OutputStreamWriter(urlConn.getOutputStream(), encode);
            out.write(commString);
            out.flush();
            out.close();
			/*傳送完畢 獲取返回流,解析流資料*/
            BufferedReader rd = new BufferedReader(new InputStreamReader(urlConn.getInputStream(), encode));
            StringBuffer sb = new StringBuffer();
            int ch;
            while ((ch = rd.read()) > -1) {
                sb.append((char) ch);
            }
            rec_string = sb.toString().trim();
			/*解析完畢關閉輸入流*/
            rd.close();
        } catch (Exception e) {
			/*異常處理*/
            rec_string = "-107";
            System.out.println(e);
        } finally {
            if (urlConn != null) {
				/*關閉URL連線*/
                urlConn.disconnect();
            }
        }
		/*返回響應內容*/
        return rec_string;
    }
上面是另一種方式的請求

下面是httpost:

HTTPPost傳送JSON:

private static final String APPLICATION_JSON = "application/json";
    
    private static final String CONTENT_TYPE_TEXT_JSON = "text/json";

public static void httpPostWithJSON(String url, String json) throws Exception {
        // 將JSON進行UTF-8編碼,以便傳輸中文
        String encoderJson = URLEncoder.encode(json, HTTP.UTF_8);
        
        DefaultHttpClient httpClient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost(url);
        httpPost.addHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON);
        
        StringEntity se = new StringEntity(encoderJson);
        se.setContentType(CONTENT_TYPE_TEXT_JSON);
        se.setContentEncoding(new
 BasicHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON));
        httpPost.setEntity(se);
        httpClient.execute(httpPost);
    }


接收HTTPPost中的JSON:

public static String receivePost(HttpServletRequest request) throws IOException, UnsupportedEncodingException {
        
        // 讀取請求內容
        BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));
        String line = null;
        StringBuilder sb = new StringBuilder();
        while((line = br.readLine())!=null){
            sb.append(line);
        }

        // 將資料解碼
        String reqBody = sb.toString();
        return URLDecoder.decode(reqBody, HTTP.UTF_8);
    }

相關推薦

httpPostJSON傳送接收

public static String postURL(String commString, String address, String encode) { String rec_

httpPostJSON傳送接收的例子

{        // 將JSON進行UTF-8編碼,以便傳輸中文        String encoderJson = URLEncoder.encode(json, HTTP.UTF_8);                DefaultHttpClient httpClient = new Defaul

ServletJSON傳送接收

http://it.chinawin.net/softwaredev/article-d431.html 在 JSON 中我們已經介紹過其基本格式,與XML相同,JSON只是一個文字格式,只要客戶端與伺服端可以剖析它,就可以利用它作為傳送資料的格式,但它是JavaScri

簡單的使用httpclient調介面傳送接收JSon

由於專案需要,需要用httpclient調其他部門的介面獲取資訊,學習了httpclient的使用方法,demo大概程式碼如下: public static List<Object> d

向API 介面傳送接收json資料(php,js)

PHP 1. 傳送json資料,POST private function https_request($url, $data) { $curl = curl_init(); curl_setopt($curl, CU

node總結之GET/POST請求的傳送接收了解下

在我們的現實場景中,我們的node伺服器都需要跟使用者的瀏覽器打交道,也就是說建立一個互動的關係。那麼,這個關係之間的通訊基本上比較熟悉的就是get/post這種方式了。咱們這刺激來簡單看下在node中,是如何接收和處理這些關係的。 由於GET請求直接被嵌入在路徑中,URL是完整的請求路徑,

zigbee 之ZStack-2.5.1a原始碼分析(三)無線資料傳送接收

前面說過SampleApp_Init和SampleApp_ProcessEvent是我們重點關注的函式,接下來分析無線傳送和接收相關的程式碼: 在SampleApp_ProcessEvent函式中: if ( events & SYS_EVENT_MSG ) {  &nbs

【Java TCP/IP Socket程式設計】----傳送接收資料----構建解析協議訊息

--------筆記來自於書籍《Java TCP/IP Socket程式設計》。 簡介 使用套接字時,通常要麼是需要同時建立通訊通道兩端的程式,要麼實現一個給定的協議進行通訊。如果知道通訊雙方都使用java實現,且擁有對協議的完全控制權,那麼就可以使用Java的內建工具如Serialiabl

【Java TCP/IP Socket程式設計】----傳送接收資料----訊息成幀與解析

目錄   簡介 成幀與解析 成幀技術案例 簡介 在程式中使用套接字向其他程式提供資訊或者使用其他程式提供的資訊,這就需要任何需要交換資訊的程式間在資訊編碼方式上達成共識(包含了資訊交換的形式和意義),稱為協議,用來實現特定的應用程式的協議叫應用程式協議。大部分應

ARM40-A5應用程式——CAN匯流排的傳送接收

ARM40-­A5應用程式——CAN匯流排的傳送和接收 版權宣告:本文為博主原創文章,允許轉載。      ARM40-A5系列板卡共有2路隔離CAN匯流排,CAN匯流排的引腳定義見《ARM40-­A5指南——CAN匯流排介面與測試》。 一、shell中CAN匯流排的接收與傳送

JavaMail傳送接收郵件(轉載)

出處: http://blog.csdn.net/zapldy/article/details/3971579 一、JavaMail概述:        JavaMail是由Sun定義的一套收發電子郵

用C寫一個UDP傳送接收程式

1、UDP網路程式設計主要流程 UDP協議的程式設計框架,客戶端和伺服器之間的差別在於伺服器必須使用bind()函式來繫結偵聽的本地UDP埠,而客戶端則可以不進行繫結,直接傳送到伺服器地址的某個埠地址。框圖如圖1.3所示 UDP協議的伺服器端流程 伺服器流程主要分為下述6個部分,即建立套

ROS 用 roboware實現節點資訊傳送接收

在ros下實現節點程式設計,實現一個節點發送訊息,另一個節點接收。實現方式有多種,可以直接在命令視窗建立工作空間包以及節點,用catkin_make進行編譯,新增.bash路徑,然後執行rosrun  package  node_name 。這種方式對於一個ROS初學者來說容易出錯,而且很多網上的教程中出現了

MQTT Java客戶端Eclipse paho實現資料的傳送接收

MQTT(MQ Telemetry Transport)是IBM開發的一種網路應用層的協議 使用場景: 1、不可靠、網路頻寬小的網路 2、執行的裝置CPU、記憶體非常有限 特點: 1、基於釋出/訂閱模型的協議 2、他是二進位制協議,二進位制的特點就是緊湊、佔用

js傳送接收二進位制位元組流資料

傳送二進位制資料 var oReq = new XMLHttpRequest(); oReq.open("POST", url, true); oReq.onload = function (oEvent) { // Uploaded. }; var blo

電子郵件傳送接收過程 一一 SMTP、POP3、IMAP

電子郵件傳送協議主要是SMTP,收件協議主要是POP3和IMAP; SMTP 的全稱是“Simple Mail Transfer Protocol”,即簡單郵件傳輸協議。它是一組用於從源地址到目的地址

python Tcp協議迴圈傳送接收

需要建立2個檔案,一個作為客戶端,一個作為服務端 檔案一 作為客戶端client,檔案二作為服務端server 檔案一 # 建立socket物件:指定傳輸協議 # AF_INET---ipv4 # SOCK_STREAM---TCP協議 import socket

Python基於tkinter傳送接收郵件

一、效果演示 二、傳送郵件程式碼 import smtplib import tkinter class Window: def __init__(self,root): label1 = tkinter.Label(root,text='SMTP

UDP完成資料的傳送接收的程式碼

要實現UDP通訊需要建立一個傳送端程式和一個接收端程式,很明顯,在通訊時只有接收端程式先執行,才能避免因傳送端傳送的資料無法接收,而造成資料丟失。因此,首先需要來完成接收端程式的編寫。 UDP完成資料的傳送 /* * 傳送端  * 1,建立DatagramSocket

《商城專案06》--用ActiveMQ實現訊息的傳送接收

一, 使用場景 對商品資訊進行操作的同時, 將資料同步到solr庫, 實現該需求有以下幾種方式: 方式1: 在e3-manager-service新增商品資訊的實現類中直接寫將資料新增到solr庫; <弊端: 負責商品資訊操作的開發人員不一定對solr熟悉, 所以得分離出來寫, 這裡可