加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

httpPost对JSON发送和接收

发布时间:2020-12-13 21:16:13 所属栏目:PHP教程 来源:网络整理
导读: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

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()) > ⑴) { sb.append((char) ch); } rec_string = sb.toString().trim(); /*解析终了关闭输入流*/ rd.close(); } catch (Exception e) { /*异常处理*/ rec_string = "⑴07"; 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";

    

    final String CONTENT_TYPE_TEXT_JSON = "text/json";


public void httpPostWithJSON(String url, String json) throws Exception {

        // 将JSON进行UTF⑻编码,以便传输中文

        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:

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);

    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读