java URL代理

private String makeHttpRequest(String requestUrl, HtmlMethod htmlMethod, HashMap<String, String> headers, String bodyText) throws Exception {
        String responseStr = "";
        HttpURLConnection urlConn = null;
        try {
//            AxisProperties.setProperty("http.proxyHost", "172.20.230.8");  
//            AxisProperties.setProperty("http.proxyPort", "808");
//            
//            AxisProperties.setProperty("https.proxyHost", "172.20.230.8");  
//            AxisProperties.setProperty("https.proxyPort", "808");
            
            String useProxy = "true";
            String host = "172.20.230.8";
            String port = "808";
            System.getProperties().put("http.proxySet", useProxy);
            System.getProperties().put("http.proxyHost", host);
            System.getProperties().put("http.proxyPort", port);
            System.getProperties().put("https.proxySet", useProxy);
            System.getProperties().put("https.proxyHost", host);
            System.getProperties().put("https.proxyPort", port);
            
            URL _url = new URL(requestUrl);
            URLConnection conn = _url.openConnection();

            if (requestUrl.toLowerCase().startsWith("https:")) {
                urlConn = (HttpsURLConnection) conn;
            } else {
                urlConn = (HttpURLConnection) conn;
            }

            if (headers != null && headers.keySet().size() > 0) {
                for (String key : headers.keySet()) {
                    String value = headers.get(key);
                    urlConn.setRequestProperty(key, value);
                }
            }

            if (htmlMethod == HtmlMethod.GET) {
                urlConn.setRequestMethod("GET");
            } else if (htmlMethod == HtmlMethod.POST) {
                urlConn.setDoOutput(true);
                urlConn.setRequestMethod("POST");
            } else if (htmlMethod == HtmlMethod.PUT) {
                urlConn.setDoOutput(true);
                urlConn.setRequestMethod("PUT");
            }
            //urlConn.setConnectTimeout(10000);
            //urlConn.setReadTimeout(10000);
            urlConn.connect();

            if ((htmlMethod == HtmlMethod.POST || htmlMethod == HtmlMethod.PUT) && bodyText != null && bodyText.length()>0) {
                OutputStream os = urlConn.getOutputStream();
                os.write(bodyText.getBytes("UTF-8"));
                os.flush();
            }

            InputStream dataInput = null;
            if (urlConn.getResponseCode() >= 400) {
                dataInput = urlConn.getErrorStream();
                responseStr = IOUtils.toString(dataInput, "UTF-8");
                throw new ApiException(responseStr);
            } else {
                dataInput = urlConn.getInputStream();
            }
            responseStr = IOUtils.toString(dataInput, "UTF-8");
        } finally {
            if (urlConn != null) {
                urlConn.disconnect();
            }
        }
        return responseStr;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值