當前位置: 首頁>>代碼示例>>Java>>正文


Java HttpsURLConnection.getOutputStream方法代碼示例

本文整理匯總了Java中javax.net.ssl.HttpsURLConnection.getOutputStream方法的典型用法代碼示例。如果您正苦於以下問題:Java HttpsURLConnection.getOutputStream方法的具體用法?Java HttpsURLConnection.getOutputStream怎麽用?Java HttpsURLConnection.getOutputStream使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在javax.net.ssl.HttpsURLConnection的用法示例。


在下文中一共展示了HttpsURLConnection.getOutputStream方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: execute

import javax.net.ssl.HttpsURLConnection; //導入方法依賴的package包/類
/**
 * Pings the server
 * 
 * @source https://www.mkyong.com/java/how-to-send-http-request-getpost-in-java/
 * */
private void execute() throws Throwable {
	//don't execute on debug-mode
	if(this.debugging == true)
		return;
	
	String url = "https://redunda.sobotics.org/status.json";
	URL obj = new URL(url);
	HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

	//add request header
	con.setRequestMethod("POST");
	con.setRequestProperty("User-Agent", UserAgent.getUserAgent());
	
	String parameters = "key="+this.apiKey;
	
	//add version parameter if available
	if (this.version != null)
		parameters = parameters+"&version="+this.version;

	// Send post request
	con.setDoOutput(true);
	DataOutputStream wr = new DataOutputStream(con.getOutputStream());
	wr.writeBytes(parameters);
	wr.flush();
	wr.close();

	BufferedReader in = new BufferedReader(
	        new InputStreamReader(con.getInputStream()));
	String inputLine;
	StringBuffer response = new StringBuffer();

	while ((inputLine = in.readLine()) != null) {
		response.append(inputLine);
	}
	in.close();
	
	String responseString = response.toString();
	
	//http://stackoverflow.com/a/15116323/4687348
	JsonParser jsonParser = new JsonParser();
	JsonObject object = (JsonObject)jsonParser.parse(responseString);
	
	try {
		boolean standbyResponse = object.get("should_standby").getAsBoolean();
		boolean oldValue = PingService.standby.get();
		PingService.standby.set(standbyResponse);
		
		String newLocation = object.get("location").getAsString();
		PingService.location = newLocation;
		
		if (standbyResponse != oldValue) {
			if (this.delegate != null)this.delegate.standbyStatusChanged(standbyResponse);
		}
	} catch (Throwable e) {
		//no apikey or server might be offline; don't change status!
		this.forwardError(e);
		throw e;
	}
}
 
開發者ID:SOBotics,項目名稱:Redunda-lib-java,代碼行數:65,代碼來源:PingService.java

示例2: reSend

import javax.net.ssl.HttpsURLConnection; //導入方法依賴的package包/類
/**
 * 重發
 * 
 * @param urlStr
 * @param parameters
 * @param count
 */
private static void reSend(String urlStr, String parameters, Map<String, Integer> count) throws IOException {
	if (count.get("times") == null) {
		count.put("times", 0);
	}
	int times = count.get("times");
	if (times < 5) {
		URL url = new URL(urlStr);
		HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
		conn.setDoOutput(true);
		conn.setDoInput(true);
		conn.setRequestMethod("POST");
		conn.setUseCaches(false);
		conn.setReadTimeout(3000);
		conn.setConnectTimeout(3000);

		OutputStream output = conn.getOutputStream();
		output.write(parameters.getBytes("utf-8"));
		output.flush();

		BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
		String s = null;
		StringBuilder sb = new StringBuilder();
		while ((s = reader.readLine()) != null) {
			sb.append(s);
		}
		reader.close();
		JSONObject jsonObject = JSONObject.parseObject(sb.toString());
		String errcode = jsonObject.get("errcode").toString();
		if (!errcode.equals("0")) {
			count.put("times", count.get("times") + 1);
			reSend(urlStr, parameters, count);
		}
	}
}
 
開發者ID:iBase4J,項目名稱:iBase4J-Common,代碼行數:42,代碼來源:WeiXinCompanySendMsg.java

示例3: sendData

import javax.net.ssl.HttpsURLConnection; //導入方法依賴的package包/類
/**
 * Sends the data to the bStats server.
 *
 * @param data The data to send.
 * @throws Exception If the request failed.
 */
private static void sendData(JSONObject data) throws Exception {
    if (data == null) {
        throw new IllegalArgumentException("Data cannot be null!");
    }
    if (Bukkit.isPrimaryThread()) {
        throw new IllegalAccessException("This method must not be called from the main thread!");
    }
    HttpsURLConnection connection = (HttpsURLConnection) new URL(URL).openConnection();

    // Compress the data to save bandwidth
    byte[] compressedData = compress(data.toString());

    // Add headers
    connection.setRequestMethod("POST");
    connection.addRequestProperty("Accept", "application/json");
    connection.addRequestProperty("Connection", "close");
    connection.addRequestProperty("Content-Encoding", "gzip"); // We gzip our request
    connection.addRequestProperty("Content-Length", String.valueOf(compressedData.length));
    connection.setRequestProperty("Content-Type", "application/json"); // We send our data in JSON format
    connection.setRequestProperty("User-Agent", "MC-Server/" + B_STATS_VERSION);

    // Send data
    connection.setDoOutput(true);
    DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());
    outputStream.write(compressedData);
    outputStream.flush();
    outputStream.close();

    connection.getInputStream().close(); // We don't care about the response - Just send our data :)
}
 
開發者ID:Chazmondo,項目名稱:RankVouchers,代碼行數:37,代碼來源:MetricUtil.java

示例4: sendData

import javax.net.ssl.HttpsURLConnection; //導入方法依賴的package包/類
/**
 * Sends the data to the bStats server.
 *
 * @param data The data to send.
 * @throws Exception If the request failed.
 */
private static void sendData(JsonObject data) throws Exception {
    if (data == null) {
        throw new IllegalArgumentException("Data cannot be null");
    }

    HttpsURLConnection connection = (HttpsURLConnection) new URL(URL).openConnection();

    // Compress the data to save bandwidth
    byte[] compressedData = compress(data.toString());

    // Add headers
    connection.setRequestMethod("POST");
    connection.addRequestProperty("Accept", "application/json");
    connection.addRequestProperty("Connection", "close");
    connection.addRequestProperty("Content-Encoding", "gzip"); // We gzip our request
    connection.addRequestProperty("Content-Length", String.valueOf(compressedData.length));
    connection.setRequestProperty("Content-Type", "application/json"); // We send our data in JSON format
    connection.setRequestProperty("User-Agent", "MC-Server/" + B_STATS_VERSION);

    // Send data
    connection.setDoOutput(true);
    DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());
    outputStream.write(compressedData);
    outputStream.flush();
    outputStream.close();

    connection.getInputStream().close(); // We don't care about the response - Just send our data :)
}
 
開發者ID:EverCraft,項目名稱:SayNoToMcLeaks,代碼行數:35,代碼來源:Metrics.java

示例5: sendData

import javax.net.ssl.HttpsURLConnection; //導入方法依賴的package包/類
/**
 * Sends the data to the bStats server.
 *
 * @param data The data to send.
 * @throws Exception If the request failed.
 */
private static void sendData(JSONObject data) throws Exception {
    if (data == null) {
        throw new IllegalArgumentException("Data cannot be null!");
    }
    if (Bukkit.isPrimaryThread()) {
        throw new IllegalAccessException("This method must not be called from the main thread!");
    }
    final HttpsURLConnection connection = (HttpsURLConnection) new URL(URL).openConnection();

    // Compress the data to save bandwidth
    final byte[] compressedData = compress(data.toString());

    // Add headers
    connection.setRequestMethod("POST");
    connection.addRequestProperty("Accept", "application/json");
    connection.addRequestProperty("Connection", "close");
    connection.addRequestProperty("Content-Encoding", "gzip"); // We gzip our request
    connection.addRequestProperty("Content-Length", String.valueOf(compressedData.length));
    connection.setRequestProperty("Content-Type", "application/json"); // We send our data in JSON format
    connection.setRequestProperty("User-Agent", "MC-Server/" + B_STATS_VERSION);

    // Send data
    connection.setDoOutput(true);
    try (DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream())) {
        outputStream.write(compressedData);
        outputStream.flush();
    }
    connection.getInputStream().close(); // We don't care about the response - Just send our data :)
}
 
開發者ID:Shynixn,項目名稱:AstralEdit,代碼行數:36,代碼來源:Metrics.java

示例6: fetchToken

import javax.net.ssl.HttpsURLConnection; //導入方法依賴的package包/類
String fetchToken() {
    try {
        URL obj = new URL(url);
        HttpsURLConnection connection = (HttpsURLConnection) obj.openConnection();
        connection.setRequestMethod("POST");
        connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
        connection.setRequestProperty("Authorization", "Basic ZlR1SWpXV1RUZkpHSlNaajBHdDZKTXQ3cXc0YTptTHhoNWpCVWdsTldWb3NqeXpjZjhTYjBKNGNh");

        connection.setDoOutput(true);
        DataOutputStream wr = new DataOutputStream(connection.getOutputStream());
        wr.writeBytes("grant_type=client_credentials&scope=device_123");
        wr.flush();
        wr.close();

        BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        String inputLine;
        StringBuilder response = new StringBuilder();

        while((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }

        in.close();
        return response.toString();


    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;

}
 
開發者ID:cybercomgroup,項目名稱:chatbot-backend,代碼行數:33,代碼來源:VasttrafikTokenService.java

示例7: begin

import javax.net.ssl.HttpsURLConnection; //導入方法依賴的package包/類
void begin() throws IOException {
  try {
    _conn = (HttpsURLConnection) _url.openConnection();
    _conn.setRequestMethod("POST");
    for (Map.Entry<String, String> entry : _config.header.entrySet()) {
      _conn.setRequestProperty(entry.getKey(), entry.getValue());
    }
    _conn.setUseCaches(false);
    _conn.setDoInput(false);
    _conn.setDoOutput(true);
    _conn.connect();

    _writer = new BufferedWriter(new OutputStreamWriter(_conn.getOutputStream()));
    _writer.append("{\"app\":\"").append(_config.app)
        .append("\",\"version\":\"").append(_config.version)
        .append("\",\"relay_app_id\":\"").append(_config.relayAppId);

    if (_envInfo.device != null) {
      _writer.append("\",\"device\":\"").append(_envInfo.device);
    }

    if (_envInfo.getAppUsedMemory() > 0) {
      _writer.append("\",\"app_mem_used\":\"").append(Long.toString(_envInfo.getAppUsedMemory()));
    }

    if (_envInfo.getDeviceFreeMemory() > 0) {
      _writer.append("\",\"device_mem_free\":\"").append(Long.toString(_envInfo.getDeviceFreeMemory()));
    }

    if (_envInfo.getDeviceTotalMemory() > 0) {
      _writer.append("\",\"device_mem_total\":\"").append(Long.toString(_envInfo.getDeviceTotalMemory()));
    }

    if (_envInfo.getBatteryLevel() > 0) {
      _writer.append("\",\"battery_level\":\"").append(Float.toString(_envInfo.getBatteryLevel()));
    }

    if (_envInfo.getCountry() != null) {
      _writer.append("\",\"country\":\"").append(_envInfo.getCountry());
    }

    if (_envInfo.getRegion() != null) {
      _writer.append("\",\"region\":\"").append(_envInfo.getRegion());
    }

    if (_envInfo.network != null) {
      _writer.append("\",\"network\":\"").append(_envInfo.network);
    }

    if (_envInfo.osName != null) {
      _writer.append("\",\"os\":\"").append(_envInfo.osName);
    }

    if (_envInfo.osVersion != null) {
      _writer.append("\",\"os_version\":\"").append(_envInfo.osVersion);
    }

    _writer.append("\",\"measurements\":[");
    _measurements = 0;

  } catch (Exception e) {
    if (_config.debug) {
      Log.d(TAG, e.getMessage());
    }
    disconnect();
    if (e instanceof IOException) {
      throw e;
    }
  }
}
 
開發者ID:rakutentech,項目名稱:android-perftracking,代碼行數:71,代碼來源:EventWriter.java

示例8: call

import javax.net.ssl.HttpsURLConnection; //導入方法依賴的package包/類
/**
 * Calls the API
 * 
 * @param cmd
 * @return the answer from the
 */
public JsonObject call(String cmd)
{

	// Copy the current map to
	Map<String, String> req = new HashMap<>();
	req.putAll(params);
	params.clear();

	// Set the API command and required fields
	req.put("version", "1");
	req.put("cmd", cmd);
	req.put("key", this.public_key);
	req.put("format", "json");

	try {
		// Generate the query string
		String post_data = urlEncodeUTF8(req);

		// Calculate the HMAC
		String hmac = HmacUtils.hmacSha512Hex(this.private_key, post_data);
		URL obj = new URL("https://www.coinpayments.net/api.php");
		HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

		// Set the request headers
		con.setRequestMethod("POST");
		con.setRequestProperty("User-Agent", "Mozilla/5.0");
		con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
		con.setRequestProperty("HMAC", hmac);

		// Send post request
		con.setDoOutput(true);
		DataOutputStream wr = new DataOutputStream(con.getOutputStream());
		wr.writeBytes(post_data);
		wr.flush();
		wr.close();

		// Wait for the resüonse code
		int responseCode = con.getResponseCode();
		logger.debug("Sending 'POST' request to URL : https://www.coinpayments.net/api.php");
		logger.debug("Post parameters : " + post_data);
		logger.debug("Response Code : " + responseCode);

		// Read the full response
		BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
		String inputLine;
		StringBuffer response = new StringBuffer();
		while ((inputLine = in.readLine()) != null) {
			response.append(inputLine);
		}
		in.close();

		// Parse the JSON response with GSON
		JsonParser jsonParser = new JsonParser();
		JsonElement jsonTree = jsonParser.parse(response.toString());
		JsonObject jsonObject = jsonTree.getAsJsonObject();

		// If there is an error - throw an Exception
		if (jsonObject.get("error").getAsString().equals("ok") == false) {
			throw new IllegalStateException(jsonObject.get("error").getAsString());
		}

		// Otherwise return the result object
		Gson gson = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create();
		String prettyJson = gson.toJson(jsonObject);
		logger.debug(prettyJson);

		return jsonObject.getAsJsonObject("result");
	}
	catch (Exception e) {
		logger.error("Exception occured: " + e.getMessage());
		throw new CoinpaymentsApiCallException(e.getMessage());
	}
}
 
開發者ID:bytebang,項目名稱:coinpaymentsnet-java-api,代碼行數:80,代碼來源:CoinPaymentsAPI.java

示例9: deleteKfAccount

import javax.net.ssl.HttpsURLConnection; //導入方法依賴的package包/類
/**
 * 刪除客服帳號
 *
 * @param keFu
 * @return
 */
public static boolean deleteKfAccount(KeFu keFu) {
    boolean isOk = false;
    String token = WeiXinUtils.getToken();
    if (token != null) {
        String urlString = "https://api.weixin.qq.com/customservice/kfaccount/del?access_token=" + token;
        try {
            URL url = new URL(urlString);
            HttpsURLConnection httpsURLConnection = (HttpsURLConnection) url.openConnection();
            String kfAccountString = JSONObject.toJSONString(keFu);
            httpsURLConnection.setRequestProperty("Content-length", String.valueOf(kfAccountString.length()));
            httpsURLConnection.setRequestProperty("Content-Type", "application/json");
            httpsURLConnection.setDoOutput(true);
            httpsURLConnection.setDoInput(true);
            DataOutputStream dataOutputStream = new DataOutputStream(httpsURLConnection.getOutputStream());
            dataOutputStream.write(kfAccountString.getBytes());
            dataOutputStream.flush();
            dataOutputStream.close();
            DataInputStream dataInputStream = new DataInputStream(httpsURLConnection.getInputStream());
            StringBuffer stringBuffer = new StringBuffer();
            int inputByte = dataInputStream.read();
            while (inputByte != -1) {
                stringBuffer.append((char) inputByte);
                inputByte = dataInputStream.read();
            }
            String kfString = stringBuffer.toString();
            JSONObject jsonObject = JSON.parseObject(kfString);
            if (jsonObject.containsKey("errcode")) {
                int errcode = jsonObject.getIntValue("errcode");
                if (errcode == 0) {
                    isOk = true;
                } else {
                    //TODO 添加客服賬號失敗
                    isOk = false;
                }
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    return isOk;
}
 
開發者ID:guokezheng,項目名稱:automat,代碼行數:48,代碼來源:WeiXinKFUtils.java

示例10: updateKfAccount

import javax.net.ssl.HttpsURLConnection; //導入方法依賴的package包/類
/**
 * 修改客服帳號
 *
 * @param keFu
 * @return
 */
public static boolean updateKfAccount(KeFu keFu) {
    boolean isOk = false;
    String token = WeiXinUtils.getToken();
    if (token != null) {
        String urlString = "https://api.weixin.qq.com/customservice/kfaccount/update?access_token=" + token;
        try {
            URL url = new URL(urlString);
            HttpsURLConnection httpsURLConnection = (HttpsURLConnection) url.openConnection();
            String kfAccountString = JSONObject.toJSONString(keFu);
            httpsURLConnection.setRequestProperty("Content-length", String.valueOf(kfAccountString.length()));
            httpsURLConnection.setRequestProperty("Content-Type", "application/json");
            httpsURLConnection.setDoOutput(true);
            httpsURLConnection.setDoInput(true);
            DataOutputStream dataOutputStream = new DataOutputStream(httpsURLConnection.getOutputStream());
            dataOutputStream.write(kfAccountString.getBytes());
            dataOutputStream.flush();
            dataOutputStream.close();
            DataInputStream dataInputStream = new DataInputStream(httpsURLConnection.getInputStream());
            StringBuffer stringBuffer = new StringBuffer();
            int inputByte = dataInputStream.read();
            while (inputByte != -1) {
                stringBuffer.append((char) inputByte);
                inputByte = dataInputStream.read();
            }
            String kfString = stringBuffer.toString();
            JSONObject jsonObject = JSON.parseObject(kfString);
            if (jsonObject.containsKey("errcode")) {
                int errcode = jsonObject.getIntValue("errcode");
                if (errcode == 0) {
                    isOk = true;
                } else {
                    //TODO 添加客服賬號失敗
                    isOk = false;
                }
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    return isOk;
}
 
開發者ID:tb544731152,項目名稱:iBase4J,代碼行數:48,代碼來源:WeiXinKFUtils.java

示例11: upload

import javax.net.ssl.HttpsURLConnection; //導入方法依賴的package包/類
public static String upload(File file) throws IOException {
	String urlStr = "https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token=" + WeiXinCompanyUtils.getToken()
			+ "&type=file";
	// 定義數據分隔符
	String boundary = "------------7da2e536604c8";
	URL uploadUrl = new URL(urlStr);
	HttpsURLConnection uploadConn = (HttpsURLConnection) uploadUrl.openConnection();
	uploadConn.setDoOutput(true);
	uploadConn.setDoInput(true);
	uploadConn.setRequestMethod("POST");
	// 設置請求頭Content-Type
	uploadConn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
	// 獲取媒體文件上傳的輸出流(往微信服務器寫數據)
	OutputStream outputStream = uploadConn.getOutputStream();

	// 從請求頭中獲取內容類型
	String contentType = "text";
	// 根據內容類型判斷文件擴展名
	String ext = file.getName().substring(file.getName().lastIndexOf("."));
	String name = file.getName();

	// 請求體開始
	outputStream.write(("--" + boundary + "\r\n").getBytes());
	String aaa = String
			.format("Content-Disposition: form-data; name=\"media\"; filename=\"" + name + "." + "%s\"\r\n", ext);
	outputStream.write(aaa.getBytes());
	String bbb = String.format("Content-Type: %s\r\n\r\n", contentType);
	outputStream.write(bbb.getBytes());

	// 獲取媒體文件的輸入流(讀取文件)
	BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
	byte[] buf = new byte[8096];
	int size = 0;
	while ((size = bis.read(buf)) != -1) {
		// 將媒體文件寫到輸出流(往微信服務器寫數據)
		outputStream.write(buf, 0, size);
	}
	// 請求體結束
	outputStream.write(("\r\n--" + boundary + "--\r\n").getBytes());
	outputStream.close();
	bis.close();

	// 獲取媒體文件上傳的輸入流(從微信服務器讀數據)
	InputStream inputStream = uploadConn.getInputStream();
	InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
	BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
	StringBuffer buffer = new StringBuffer();
	String str = null;
	while ((str = bufferedReader.readLine()) != null) {
		buffer.append(str);
	}
	bufferedReader.close();
	inputStreamReader.close();
	// 釋放資源
	inputStream.close();
	uploadConn.disconnect();

	System.out.println(buffer.toString());
	return buffer.toString();
}
 
開發者ID:iBase4J,項目名稱:iBase4J-Common,代碼行數:61,代碼來源:WeiXinCompanyUpload.java

示例12: upload

import javax.net.ssl.HttpsURLConnection; //導入方法依賴的package包/類
public static String upload(String fileName, File file) throws IOException {
	String urlStr = "https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token=" + WeiXinCompanyUtils.getToken()
			+ "&type=file";
	// 定義數據分隔符
	String boundary = "------------7da2e536604c8";
	URL uploadUrl = new URL(urlStr);
	HttpsURLConnection uploadConn = (HttpsURLConnection) uploadUrl.openConnection();
	uploadConn.setDoOutput(true);
	uploadConn.setDoInput(true);
	uploadConn.setRequestMethod("POST");
	// 設置請求頭Content-Type
	uploadConn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
	// 獲取媒體文件上傳的輸出流(往微信服務器寫數據)
	OutputStream outputStream = uploadConn.getOutputStream();

	// 從請求頭中獲取內容類型
	String contentType = "text";
	// 根據內容類型判斷文件擴展名
	@SuppressWarnings("unused")
	String[] f = fileName.split("\\.");
	// 請求體開始
	outputStream.write(("--" + boundary + "\r\n").getBytes());
	// String aaa = String.format("Content-Disposition: form-data;
	// name=\"media\"; filename=\""+f[0]+"."+"%s\"\r\n", f[1]);
	String aaa = "Content-Disposition: form-data; name=\"media\"; filename=\"" + fileName + "\"\r\n";
	outputStream.write(aaa.getBytes());
	String bbb = String.format("Content-Type: %s\r\n\r\n", contentType);
	outputStream.write(bbb.getBytes());

	// 獲取媒體文件的輸入流(讀取文件)
	BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
	byte[] buf = new byte[8096];
	int size = 0;
	while ((size = bis.read(buf)) != -1) {
		// 將媒體文件寫到輸出流(往微信服務器寫數據)
		outputStream.write(buf, 0, size);
	}
	// 請求體結束
	outputStream.write(("\r\n--" + boundary + "--\r\n").getBytes());
	outputStream.close();
	bis.close();

	// 獲取媒體文件上傳的輸入流(從微信服務器讀數據)
	InputStream inputStream = uploadConn.getInputStream();
	InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
	BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
	StringBuffer buffer = new StringBuffer();
	String str = null;
	while ((str = bufferedReader.readLine()) != null) {
		buffer.append(str);
	}
	bufferedReader.close();
	inputStreamReader.close();
	// 釋放資源
	inputStream.close();
	uploadConn.disconnect();

	System.out.println(buffer.toString());
	return buffer.toString();
}
 
開發者ID:guokezheng,項目名稱:automat,代碼行數:61,代碼來源:WeiXinCompanyUpload.java

示例13: verify

import javax.net.ssl.HttpsURLConnection; //導入方法依賴的package包/類
public static boolean verify(String gRecaptchaResponse){
	if (gRecaptchaResponse == null || "".equals(gRecaptchaResponse)) {
        return false;
    }
     
    try{
    URL obj = new URL(url);
    HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
 
    con.setRequestMethod("POST");
    con.setRequestProperty("User-Agent", USER_AGENT);
    con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
 
    String postParams = "secret=" + secret + "&response="
            + gRecaptchaResponse;
 
    con.setDoOutput(true);
    DataOutputStream wr = new DataOutputStream(con.getOutputStream());
    wr.writeBytes(postParams);
    wr.flush();
    wr.close();
 
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(new InputStreamReader(
            con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
 
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
 
    JSONObject object = (JSONObject)JSONValue.parse(new StringReader(response.toString()));
     
    return (Boolean)object.get("success");
    }catch(Exception e){
        e.printStackTrace();
        return false;
    }
}
 
開發者ID:DSM-DMS,項目名稱:DMS,代碼行數:42,代碼來源:VerifyRecaptcha.java

示例14: httpsRequest

import javax.net.ssl.HttpsURLConnection; //導入方法依賴的package包/類
/**
     * 發起https請求並獲取結果
     * 
     * @param requestUrl
     *            請求地址
     * @param requestMethod
     *            請求方式(GET、POST)
     * @param outputStr
     *            提交的數據
     * @return JSONObject(通過JSONObject.get(key)的方式獲取json對象的屬性值)
     */
    public static JSONObject httpsRequest(String requestUrl,String requestMethod,String outputStr){
        JSONObject jsonObject = null;
        StringBuffer buffer = new StringBuffer();
        try {
            // 創建SSLContext對象,並使用我們指定的信任管理器初始化
            TrustManager[] tm = { new SaicX509TrustManager() };
//          SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");
            SSLContext sslContext = SSLContext.getInstance("TLS", "SunJSSE");
            sslContext.init(null, tm, new java.security.SecureRandom());
            // 從上述SSLContext對象中得到SSLSocketFactory對象
            SSLSocketFactory ssf = sslContext.getSocketFactory();

            URL url = new URL(requestUrl);
            HttpsURLConnection httpUrlConn = (HttpsURLConnection) url.openConnection();
            httpUrlConn.setSSLSocketFactory(ssf);

            httpUrlConn.setDoOutput(true);
            httpUrlConn.setDoInput(true);
            httpUrlConn.setUseCaches(false);
            // 設置請求方式(GET/POST)
            httpUrlConn.setRequestMethod(requestMethod);

            if ("GET".equalsIgnoreCase(requestMethod))
                httpUrlConn.connect();

            // 當有數據需要提交時
            if (null != outputStr) {
                OutputStream outputStream = httpUrlConn.getOutputStream();
                // 注意編碼格式,防止中文亂碼
                outputStream.write(outputStr.getBytes("UTF-8"));
                outputStream.close();
            }

            // 將返回的輸入流轉換成字符串
            InputStream inputStream = httpUrlConn.getInputStream();
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

            String str = null;
            while ((str = bufferedReader.readLine()) != null) {
                buffer.append(str);
            }
            bufferedReader.close();
            inputStreamReader.close();
            // 釋放資源
            inputStream.close();
            inputStream = null;
            httpUrlConn.disconnect();
            jsonObject = JSONObject.fromObject(buffer.toString());
        } catch (ConnectException ce) {
            logger.error("connection timed out cause by " + ce.getMessage());
        } catch (Exception e) {
            logger.error("https request error : " + e.getMessage());
        }
        return jsonObject;
    }
 
開發者ID:tojaoomy,項目名稱:private-WeChat,代碼行數:68,代碼來源:CommonUtil.java

示例15: sendFileMsg

import javax.net.ssl.HttpsURLConnection; //導入方法依賴的package包/類
/**
 * 發送多媒體文件
 * 
 * @return
 */
public static String sendFileMsg(String touser, String toparty, String totag, int agentid, String media_id,
		boolean safe) throws IOException {
	JSONObject jsonObject = new JSONObject();

	jsonObject.put("touser", touser);// 成員ID列表(消息接收者,多個接收者用‘|’分隔,最多支持1000個)。特殊情況:指定為@all,則向關注該企業應用的全部成員發送
	jsonObject.put("toparty", toparty);// 部門ID列表,多個接收者用‘|’分隔,最多支持100個。當touser為@all時忽略本參數

	jsonObject.put("totag", totag);// 標簽ID列表,多個接收者用‘|’分隔。當touser為@all時忽略本參數

	jsonObject.put("agentid", agentid + "");// 企業應用的id,整型。可在應用的設置頁麵查看
	jsonObject.put("msgtype", "file");// 消息類型,此時固定為:text

	JSONObject text = new JSONObject();
	text.put("media_id", media_id);

	jsonObject.put("file", text);// 消息內容
	if (safe) {
		jsonObject.put("safe", "1");// 表示是否是保密消息,0表示否,1表示是,默認0
	} else {
		jsonObject.put("safe", "0");// 表示是否是保密消息,0表示否,1表示是,默認0
	}

	System.out.println(jsonObject);
	String urlStr = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token="
			+ WeiXinCompanyUtils.getToken();
	String parameters = jsonObject.toString();

	URL url = new URL(urlStr);

	System.out.println("url:" + urlStr);
	System.out.println("parameters:" + parameters);

	HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
	conn.setDoOutput(true);
	conn.setDoInput(true);

	OutputStream output = conn.getOutputStream();
	output.write(parameters.getBytes("utf-8"));
	output.flush();

	BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
	String s = null;
	StringBuilder sb = new StringBuilder();
	while ((s = reader.readLine()) != null) {
		sb.append(s);
	}
	reader.close();
	System.out.println(sb.toString());
	return sb.toString();
}
 
開發者ID:guokezheng,項目名稱:automat,代碼行數:56,代碼來源:WeiXinCompanySendMsg.java


注:本文中的javax.net.ssl.HttpsURLConnection.getOutputStream方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。