via: http://zhcheng.iteye.com/blog/1292350
项目中与对方进行数据交互时,对方提供了一套夸域json方式传递数据,并给出了一个js示例
$.getJSON(
"http://www.----aspx?callback=?",
{Name:"123",Pass:"123"},
function(json){
if(json.UserId==null){
alert("NO");
}else{
alert(json.UserId);
}
}
);
但是此方法处理数据时,只能在页面中进行,局限性很大。因此在具体实施时,使用了HttpClient来代替。
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.json.JSONException;
import org.json.JSONObject;
import org.json.JSONTokener;
/**
* 使用HttpClient请求页面并返回json格式数据.
* 对方接收的也是json格式数据。
* 因此使用HttpGet。
* */
public class Json {
public static void main(String[] args) throws JSONException {
JSONObject json = new JSONObject();
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("Name", "123"));
params.add(new BasicNameValuePair("Pass", "123"));
//要传递的参数.
String url = "http://www.----aspx?" + URLEncodedUtils.format(params, HTTP.UTF_8);
//拼接路径字符串将参数包含进去
json = get(url);
System.out.println(json.get("UserId"));
}
public static JSONObject get(String url) {
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(url);
JSONObject json = null;
try {
HttpResponse res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
HttpEntity entity = res.getEntity();
json = new JSONObject(new JSONTokener(new InputStreamReader(entity.getContent(), HTTP.UTF_8)));
}
} catch (Exception e) {
throw new RuntimeException(e);
} finally{
//关闭连接 ,释放资源
client.getConnectionManager().shutdown();
}
return json;
}
}
相关推荐
在实际应用中,使用HttpClient进行JSON数据传输可能会涉及更多细节,如连接池管理、重试策略、超时设置等。要深入理解HttpClient的用法,可以参考官方文档或博客(如给出的链接),学习更多高级特性和最佳实践。
在这个主题中,我们将专注于如何使用HttpClient发送POST请求并传输JSON数据。在实际的Web服务开发和API调用中,这是一个非常常见的需求。 首先,理解POST请求:与GET请求不同,POST请求通常用于向服务器发送数据,...
这就是使用Android中的HTTPClient库访问服务器并获取JSON数据的基本步骤。注意,Android现在推荐使用更现代的网络库,如OkHttp或Retrofit,因为它们有更好的性能和更丰富的功能。然而,对于学习和理解基础网络通信,...
使用HttpClient时,你需要先构建一个HttpClient实例,然后创建一个HttpGet或HttpPost对象,设置请求URL和参数。接着,通过HttpClient执行请求,获取HttpResponse。如果响应内容是JSON格式,可以使用JSON解析库将其...
在Java中,可以使用`HttpURLConnection`、`HttpClient`(Apache Commons HttpClient库)或者`OkHttp`库来实现HTTP请求。例如,`HttpConfigUtil.java`可能是用于封装HTTP请求逻辑的工具类。 3. **JSON解析**:接收到...
在给定的例子中,`HttpUtils`类展示了如何使用`DefaultHttpClient`发送GET请求获取JSON数据。首先创建`HttpClient`实例,然后构造`HttpGet`对象,设置请求URL。接着执行请求并获取`HttpResponse`,从响应实体中提取...
在Java中,可以通过多种方式实现HTTP请求,例如使用`java.net.URL`和`java.net.HttpURLConnection`类,或者使用Apache HttpClient库。这个项目源代码可能包含了使用这些方法之一的例子,展示如何发送GET、POST以及...
在Java中,我们可以使用`HttpURLConnection`或者第三方库如Apache HttpClient、OkHttp来从网络获取JSON数据。以下是一个简单的例子,使用`HttpURLConnection`: ```java URL url = new URL(...
这里我们将深入探讨如何使用Java发送GET和POST请求,以及处理JSON数据。 首先,让我们关注GET请求。GET请求主要用于从服务器获取资源,其参数通常包含在URL中。在Java中,可以使用`HttpURLConnection`类或者第三方...
对于客户端通过HTTP获取JSON数据,可以使用`HttpURLConnection`或Apache HttpClient等HTTP客户端库发起GET或POST请求。收到响应后,同样用对应的库解析返回的JSON字符串。 例如,使用HttpURLConnection获取JSON数据...
使用HttpClient,你可以创建一个`HttpClient`实例,然后构建`HttpGet`或`HttpPost`对象,设置请求URL(对应WCF服务的地址)和任何必要的请求头。 4. **处理响应**:发送请求后,HttpClient会返回一个`HttpResponse`...
总之,"GetJson"是一个专注于简化REST服务与JSON数据交互的Java库,它为开发者提供了一个简洁的API,使得从网络获取和解析JSON数据变得轻松快捷。对于那些不希望在基础网络编程上花费过多时间的Java开发者来说,这是...
"json-lib"是一个与HttpClient相关的标签,表明这个压缩包可能还包括了处理JSON数据的库。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于Web服务之间的数据传输。json-lib是一个Java库,...
Java HTTP POST方法是Java编程中用于向Web服务器发送数据的一种常见技术,主要涉及网络编程和HTTP协议。在本文中,我们将深入探讨Java中如何实现HTTP POST请求,理解HTTP POST的工作原理,以及它与GET方法的区别。 ...
了解HttpGet的使用,不仅可以帮助开发者进行数据抓取,还可以在API调用、网页爬虫等场景下发挥重要作用。在实际开发中,还需要关注HTTP协议的其他请求方法,如POST、PUT、DELETE等,以及HTTPS安全连接、身份验证等...
在IT行业中,`org.json`和`commons-httpclient`是两个非常重要的库,它们分别用于处理JSON数据和执行HTTP客户端请求。这两个库在Java开发中起着关键的作用,尤其是在构建Web服务、API交互以及网络通信时。 首先,...
它支持多种数据传输格式,如JSON和XML,与HttpClient配合使用,可以轻松地实现客户端和服务器之间的数据交换。 总结来说,WPF中的异步调用Web API通过HttpClient能确保应用程序的响应性和用户体验。通过正确配置和...
本实例将深入讲解如何使用HttpClient进行网络传输。 一、HttpClient基本概念 HttpClient是一个实现了HTTP/1.0和HTTP/1.1协议的客户端编程工具包。它不仅支持基本的HTTP方法,还支持HTTPS、Cookie管理、连接池、...
1. **HTTP请求的初始化**:创建一个HttpURLConnection对象,或者使用Apache HttpClient创建一个HttpGet或HttpPost对象。 2. **设置请求属性**:可能包括设置请求方法(GET或POST)、添加请求头(如Content-Type、...
标题中的“http传输接收json.zip”表明这是一个关于Java后端如何通过HTTP协议接收并处理JSON数据的示例项目。在现代Web开发中,HTTP是客户端(如浏览器)与服务器之间进行通信的主要协议,而JSON(JavaScript Object...