HttpClient4使用

HttpClient4使用packagemain;importjava.io.IOException;importjava.io.UnsupportedEncodingException;importjava.net

大家好,又见面了,我是你们的朋友全栈君。

 

package main;
 
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.List;
 
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.ParseException;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
 
public class Main {
 
    private static HttpClient hc = new DefaultHttpClient();
 
    /**
     * @param args
     */
    public static void main(String[] args) {
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("email", "xxx@gmail.com"));
        params.add(new BasicNameValuePair("pwd", "xxx"));
        params.add(new BasicNameValuePair("save_login", "1"));
 
        String url = "http://www.oschina.net/action/user/login";
 
        String body = post(url, params);
        System.out.println(body);
    }
 
    /**
     * Get请求
     * @param url
     * @param params
     * @return
     */
    public static String get(String url, List<NameValuePair> params) {
        String body = null;
        try {
            // Get请求
            HttpGet httpget = new HttpGet(url);
            // 设置参数
            String str = EntityUtils.toString(new UrlEncodedFormEntity(params));
            httpget.setURI(new URI(httpget.getURI().toString() + "?" + str));
            // 发送请求
            HttpResponse httpresponse = hc.execute(httpget);
            // 获取返回数据
            HttpEntity entity = httpresponse.getEntity();
            body = EntityUtils.toString(entity);
            if (entity != null) {
                entity.consumeContent();
            }
        } catch (ParseException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (URISyntaxException e) {
            e.printStackTrace();
        }
        return body;
    }
 
    /**
     * // Post请求
     * @param url
     * @param params
     * @return
     */
    public static String post(String url, List<NameValuePair> params) {
        String body = null;
        try {
            // Post请求
            HttpPost httppost = new HttpPost(url);
            // 设置参数
            httppost.setEntity(new UrlEncodedFormEntity(params));
            // 发送请求
            HttpResponse httpresponse = hc.execute(httppost);
            // 获取返回数据
            HttpEntity entity = httpresponse.getEntity();
            body = EntityUtils.toString(entity);
            if (entity != null) {
                entity.consumeContent();
            }
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (ParseException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return body;
    }
 
}

  

2. HttpClient4使用     

package 
main;
 
import 
java.io.IOException;
import 
java.io.UnsupportedEncodingException;
import 
java.net.URI;
import 
java.net.URISyntaxException;
import 
java.util.ArrayList;
import 
java.util.List;
 
import 
org.apache.http.HttpEntity;
import 
org.apache.http.HttpResponse;
import 
org.apache.http.NameValuePair;
import 
org.apache.http.ParseException;
import 
org.apache.http.client.ClientProtocolException;
import 
org.apache.http.client.HttpClient;
import 
org.apache.http.client.entity.UrlEncodedFormEntity;
import 
org.apache.http.client.methods.HttpGet;
import 
org.apache.http.client.methods.HttpPost;
import 
org.apache.http.impl.client.DefaultHttpClient;
import 
org.apache.http.message.BasicNameValuePair;
import 
org.apache.http.util.EntityUtils;
 
public 
class 
Main {
 
    
private 
static 
HttpClient hc = 
new 
DefaultHttpClient();
 
    
/**
     
* @param args
     
*/
    
public 
static 
void 
main(String[] args) {
        
List<NameValuePair> params = 
new 
ArrayList<NameValuePair>();
        
params.add(
new 
BasicNameValuePair(
"email"
, 
"xxx@gmail.com"
));
        
params.add(
new 
BasicNameValuePair(
"pwd"
, 
"xxx"
));
        
params.add(
new 
BasicNameValuePair(
"save_login"
, 
"1"
));
 
        
String url = 
"http://www.oschina.net/action/user/login"
;
 
        
String body = post(url, params);
        
System.out.println(body);
    
}
 
    
/**
     
* Get请求
     
* @param url
     
* @param params
     
* @return
     
*/
    
public 
static 
String get(String url, List<NameValuePair> params) {
        
String body = 
null
;
        
try 
{
            
// Get请求
            
HttpGet httpget = 
new 
HttpGet(url);
            
// 设置参数
            
String str = EntityUtils.toString(
new 
UrlEncodedFormEntity(params));
            
httpget.setURI(
new 
URI(httpget.getURI().toString() + 
"?" 
+ str));
            
// 发送请求
            
HttpResponse httpresponse = hc.execute(httpget);
            
// 获取返回数据
            
HttpEntity entity = httpresponse.getEntity();
            
body = EntityUtils.toString(entity);
            
if 
(entity != 
null
) {
                
entity.consumeContent();
            
}
        
} 
catch 
(ParseException e) {
            
e.printStackTrace();
        
} 
catch 
(UnsupportedEncodingException e) {
            
e.printStackTrace();
        
} 
catch 
(IOException e) {
            
e.printStackTrace();
        
} 
catch 
(URISyntaxException e) {
            
e.printStackTrace();
        
}
        
return 
body;
    
}
 
    
/**
     
* // Post请求
     
* @param url
     
* @param params
     
* @return
     
*/
    
public 
static 
String post(String url, List<NameValuePair> params) {
        
String body = 
null
;
        
try 
{
            
// Post请求
            
HttpPost httppost = 
new 
HttpPost(url);
            
// 设置参数
            
httppost.setEntity(
new 
UrlEncodedFormEntity(params));
            
// 发送请求
            
HttpResponse httpresponse = hc.execute(httppost);
            
// 获取返回数据
            
HttpEntity entity = httpresponse.getEntity();
            
body = EntityUtils.toString(entity);
            
if 
(entity != 
null
) {
                
entity.consumeContent();
            
}
        
} 
catch 
(UnsupportedEncodingException e) {
            
e.printStackTrace();
        
} 
catch 
(ClientProtocolException e) {
            
e.printStackTrace();
        
} 
catch 
(ParseException e) {
            
e.printStackTrace();
        
} 
catch 
(IOException e) {
            
e.printStackTrace();
        
}
        
return 
body;
    
}
 
}

转自:http://www.oschina.net/code/snippet_54371_1515

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154999.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • FCoin近1.3万BTC无法兑付,有人报案有人自救

    作者:邱祥宇继7.2亿代币销毁,三天三公告之后,FCoin又有新进展。2月17日晚上,张健在FCoin官网发布一篇名为《FCoin真相》的公告,对FCoin的现状、原因以及后续计划作出说…

    2022年4月9日
  • 通俗易懂的Mybatis工作原理[通俗易懂]

    作为半自动的ORM框架,Mybatis被越来越多的企业接受。搞清楚它的工作原理以及底层实现,对于开发者可事半功倍。很多文章都是使用大批量的源码流程去分析原理。对于有源码阅读功底的开发者,也许还能招架住,但还是不直观。我以前的很多文章都是这么做的,后来有朋友私信建议说,这些文章类似于个人笔记,只能自己阅读,不利于分享,所以,本文将尝试采用通俗易懂的白话文带领大家认识一下Mybatis的工作原理。(PS:大家可以设想,如果自己在开发Mybatis,该如何设计好Mybatis的功能呢?)一...

    2022年4月17日
  • acwing-1183. 电力(割点Tarjan)

    acwing-1183. 电力(割点Tarjan)给定一个由 n 个点 m 条边构成的无向图,请你求出该图删除一个点之后,连通块最多有多少。输入格式输入包含多组数据。每组数据第一行包含两个整数 n,m。接下来 m 行,每行包含两个整数 a,b,表示 a,b 两点之间有边连接。数据保证无重边。点的编号从 0 到 n−1。读入以一行 0 0 结束。输出格式每组数据输出一个结果,占一行,表示连通块的最大数量。数据范围1≤n≤10000,0≤m≤15000,0≤a,b<n输入样例:3 30 10 22 14 20 1

    2022年8月9日
  • golang 基础编程

    golang 基础编程

    2022年2月19日
  • 蓝桥杯单片机NE555编程

    蓝桥杯单片机NE555编程

    2021年11月12日
  • CentOS7安装MySQL8.0.12(mysql8版本有的地方还是有坑想好再用)

    CentOS7安装MySQL8.0.12(mysql8版本有的地方还是有坑想好再用)

    2021年6月1日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号