`
lyjxaut
  • 浏览: 11149 次
文章分类
社区版块
存档分类
最新评论

HttpClient 调用API

阅读更多
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;
}

}
分享到:
评论

相关推荐

    httpClient调用javaeye API验证用户

    以下是一个关于如何使用HttpClient调用JavaEye API的基本步骤: 1. **导入必要的库**:首先,你需要在项目中导入HttpClient相关的依赖库,通常包括httpclient、httpcore和httpmime等。如果你使用的是Maven或Gradle...

    如何在WPF应用程序中通过HttpClient调用Web API

    在WPF(Windows Presentation Foundation)应用程序中,使用HttpClient调用Web API是一项常见的任务,尤其是在进行数据交互时。本文将深入探讨如何在WPF应用中利用HttpClient进行异步操作,以避免阻塞主线程,提高...

    WebApi系列-通过HttpClient来调用WebApi接口.doc

    ### WebApi系列-通过HttpClient来调用WebApi接口 #### 一、概述 在现代Web开发中,Web API已经成为一种非常流行的模式,用于提供服务端与客户端之间的数据交互。随着.NET Framework以及.NET Core的发展,微软提供...

    HttpClient调用第三方接口

    使用httpclient调用公安部接口 并接受返回的字符串转换为图片

    HttpClient 调用WebService示例

    在本文中,我们将深入探讨如何使用HttpClient调用WebService。 首先,调用WebService通常涉及SOAP(Simple Object Access Protocol)或RESTful API。HttpClient可以处理这两种类型的Web服务。在本示例中,我们假设...

    httpClient调用webservice接口

    ### 使用HttpClient调用WebService接口详解 #### 一、概述 在现代软件开发中,Web服务(尤其是WebService)作为实现系统间交互的一种重要手段被广泛采用。WebService提供了通过HTTP协议进行远程过程调用的能力,...

    httpclient调用接口demo

    本demo有两个例子test是作为服务端开启的,httpclient是客户端调用的,模拟服务端的test在启动后是没有界面的,要加上id才能看到json数据,httpclient的HttpClient33.java是测试类,最后的结果是接受到一个对象。...

    【ASP.NET编程知识】通过HttpClient 调用ASP.NET Web API示例.docx

    ASP.NET 编程知识 - 通过 HttpClient 调用 ASP.NET Web API 示例 在本文中,我们将学习如何使用 HttpClient 调用 ASP.NET Web API。HttpClient 是一个强大的 HTTP 客户端库,能够发送 HTTP 请求并接收响应。在 ASP...

    webservice调用实例,通过HttpClient调用

    总之,通过HttpClient调用Web服务是一个涉及网络通信和HTTP协议理解的过程。在实际开发中,了解HttpClient的使用方法和最佳实践,可以帮助我们构建稳定、高效的Web服务客户端。结合Maven构建工具,可以轻松管理项目...

    NET调用API源码

    使用HttpClient调用API的基本步骤如下: 1. 创建HttpClient实例:`HttpClient client = new HttpClient();` 2. 设置请求头(如Content-Type、Authorization等):`client.DefaultRequestHeaders.Add("HeaderName", ...

    httpclient4.1.4 API

    创建HttpClient实例后,可以调用`execute()`方法发起GET、POST等不同类型的HTTP请求。例如: ```java HttpClient httpClient = HttpClientBuilder.create().build(); HttpGet request = new HttpGet(...

    httpClient实例httpClient调用 http/https实例 忽略SSL验证

    HttpClient是一个灵活且强大的HTTP客户端API,它允许开发者执行各种HTTP方法(如GET、POST等),处理响应,以及管理连接池。要创建一个简单的HttpClient实例,你需要以下步骤: 1. 引入Apache HttpClient库: 在你...

    httpclient 4.5 api文档

    ### httpclient 4.5 API文档知识点概览 #### 一、基础知识 ##### 1.1 请求执行 **1.1.1 HTTP请求** - **定义**:HTTP客户端通过发送HTTP请求来与服务器进行交互。 - **组成**: - 方法(GET、POST等); - URI...

    通过HttpClient 调用ASP.NET Web API示例

    在本文中,我们将探讨如何使用 HttpClient 来调用 ASP.NET Web API 的示例。首先,我们需要创建一个 ASP.NET Web API 应用程序。在 Visual Studio 中,选择 "新建项目",然后选择 "ASP.NET Web 应用程序" 模板。在下...

    C#winform调用webapi.rar

    为了调用WebAPI,我们需要创建一个HttpClient实例,设置必要的请求头(如Content-Type),然后使用`PostAsync`或`GetStringAsync`方法发送GET或POST请求。 3. **JSON序列化与反序列化**:在C#中,`Newtonsoft.Json`...

    ETL KETTLE 中利用Httpclient 调用webservice接口获取XML数据,并解析XML 数据

    ETL KETTLE 中利用Httpclient 调用webservice接口获取XML数据,并解析XML 数据。 完整的KTR实例

    JAVA调用webApi完整jar包 httpclient 等等

    java调用.NET webAPI httpclient-4.2.5.jar httpclient-cache-4.2.5.jar httpcore-4.2.4.jar httpmime-4.2.5.jar fluent-hc-4.2.5.jar commons-codec-1.6.jar

    winform调用webapi获取Token授权案例,webapi使用oauth2.0权限控制

    本案例主要涉及如何在WinForm应用中通过HttpClient调用使用OAuth2.0授权的WebAPI接口。OAuth2.0是一种广泛采用的授权框架,用于安全地授予第三方应用访问用户资源的权限,而无需共享用户凭据。 首先,让我们深入...

Global site tag (gtag.js) - Google Analytics