文档章节

HttpURLConnection请求运用

l
 lintalkliu
发布于 2017/07/18 16:50
字数 262
阅读 8
收藏 0

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URL;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.sun.deploy.net.proxy.BrowserProxyInfo;

public class RestfulAPIUtil {

    private static Log logger=LogFactory.getLog(RestfulAPIUtil.class); 
    /** 
     * 
     * http get请求. 
     *  
     * @param httpUrl http请求URl
     * @return String 
     */  
    public static String sendGet(String httpUrl) {
        logger.info("http request sent begin  url is :"+httpUrl);
        BufferedReader reader = null;
        String result = null;
        StringBuffer sbf = new StringBuffer();
        try {
            Proxy proxy = new Proxy(Proxy.Type.HTTP,new InetSocketAddress("10.37.84.114", 8080));
            URL url = new URL(httpUrl);
//            BrowserProxyInfo browser = new BrowserProxyInfo();
//            browser.setAutoConfigURL("file://D:/VPN/proxyforwebx.pac");
            
            
            // 使用代理发送请求
//            HttpURLConnection connection = (HttpURLConnection) url.openConnection(proxy);
            // 不使用代理发送请求
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setReadTimeout(60000);
            connection.setConnectTimeout(60000);
            connection.connect();
            InputStream is = connection.getInputStream();
            reader = new BufferedReader(new InputStreamReader(is, ConstantUtil.CEIC_XML_TARGET_ENCODING_UTF8));
            String strRead = null;
            while ((strRead = reader.readLine()) != null) {
                sbf.append(strRead);
                sbf.append("\r\n");
            }
            reader.close();
            result = sbf.toString();
        } catch (Exception e) {
            logger.error(e.getMessage(),e);
        }
        logger.info("http request sent end ");
        return result;
    }

    /** 
     * 
     * http post请求. 
     *  
     * @param httpUrl http请求URl
     * @param postData post请求内容
     * @return String reponse内容
     */ 
    public static String sendPost(String httpUrl,String postData) {
        BufferedReader reader = null;
        String result = null;
        StringBuffer sbf = new StringBuffer();

        try {
            URL url = new URL(httpUrl);
            HttpURLConnection connection = (HttpURLConnection) url
                    .openConnection();
            connection.setRequestMethod("POST");
            connection.setRequestProperty("Content-Type",
                            "application/x-www-form-urlencoded");

            connection.setDoOutput(true);
            connection.getOutputStream().write(postData.getBytes("UTF-8"));
            connection.connect();
            InputStream is = connection.getInputStream();
            reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
            String strRead = null;
            while ((strRead = reader.readLine()) != null) {
                sbf.append(strRead);
                sbf.append("\r\n");
            }
            reader.close();
            result = sbf.toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }
}
 

© 著作权归作者所有

l
粉丝 0
博文 6
码字总数 729
作品 0
南京
私信 提问
详解HttpURLConnection

请求响应流程 设置连接参数的方法 setAllowUserInteraction setDoInput setDoOutput setIfModifiedSince setUseCaches setDefaultAllowUserInteraction setDefaultUseCaches 设置请求头或响应......

白志华
2015/12/30
456
0
post get请求的运用----android篇

GET是从服务器上获取数据,POST是向服务器传送数据。get,post在PHP网络编程中经常会运用到。 get post请求在Android如何运用呢? GET是把参数数据队列加到提交表单的ACTION属性所指的URL中,...

crossmix
2015/12/22
40
0
URLConnection的连接、超时、关闭用法

Java中可以使用HttpURLConnection来请求WEB资源。 1、 URL请求的类别 分为二类,GET与POST请求。二者的区别在于: a:) get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet...

玄空
2013/02/17
619
0
HttpURLConnection相关的小记

HttpURLConnection相关的小记 小憩之地2014-07-3087 阅读 Android 在Android上进行网络通信,Android本身提供的手段是HttpClient和HttpURLConnection两种。其中HttpClient来自于Apache,拥有...

小憩之地
2014/07/30
0
0
Android链接网络的三种方法

HttpURLConnection的常用方法 // 获取链接网络的路径 URL url = new URL(strUrl); // 准备开启网络.设置访问网络的配置 HttpURLConnection httpURLConnection = (HttpURLConnection) url .o...

Jaume
2016/07/11
4
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
昨天
4
0
hash slot(虚拟桶)

在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小。 round robin算法:是把数据mod后直接映射...

李朝强
昨天
4
0
Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...

vivo互联网技术
昨天
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部