java 发送网络请求

近日接触了微信号开发,调接口时要发送网络请求

下面是网络请求代码:

import net.sf.json.JSONObject;

import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class test {
private static final String https_url1 = "https://qyapi.xxx.qq.com/cgi-bin/user/xxx?access_token=ACCESS_TOKEN";

    public static void getUserByUserTicket( String t,String token) {
        String userTicket = t;//"J2bUGLuCNXGGEhpqITZ254LCQNsJxU_oedqDLy5k2KDr9WSLlp8jX9vXef3lHp1NsR4QwcXtTR6DTjHvGWjsqqCf3WJ4ezGmLz8WyukI03I";
        String post_url = https_url1.replace("ACCESS_TOKEN", token);
        String retMsg = "";
        JSONObject obj = null;
        JSONObject sendObj = new JSONObject();
        sendObj.put("user_ticket",userTicket);
        System.out.println("send:"+sendObj.toString());
        try {
            URL url = new URL(post_url);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("POST");
            conn.setConnectTimeout(5000);
            conn.setReadTimeout(5000);
            conn.setDoOutput(true);
            conn.setDoInput(true);
            // 设置文件类型:
            conn.setRequestProperty("contentType", "application/json");
            //传输开始
            conn.connect();
            OutputStream out = conn.getOutputStream();
            // 写入请求的字符串
            out.write((sendObj.toString()).getBytes());

            out.flush();
            out.close();
            System.out.println("传输标识代码"+conn.getResponseCode());
            InputStream sendStatus = conn.getInputStream();
            int size = sendStatus.available();
            byte[] jsonBytes = new byte[size];
            sendStatus.read(jsonBytes);
            retMsg = new String(jsonBytes, "UTF-8");
            sendStatus.close();
            conn.disconnect();
            obj = JSONObject.fromObject(retMsg);
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println(obj.toString());
    }
    }

大概就是这样,发送请求时还发送json包。接收到的数据流也转换为了json对象。

你可能感兴趣的:(java)