`
zhcheng
  • 浏览: 164362 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HttpClient使用HttpGet进行json数据传输

 
阅读更多

项目中与对方进行数据交互时,对方提供了一套夸域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使用HttpGet进行json数据传输(所使用的jar.zip)

    在实际应用中,使用HttpClient进行JSON数据传输可能会涉及更多细节,如连接池管理、重试策略、超时设置等。要深入理解HttpClient的用法,可以参考官方文档或博客(如给出的链接),学习更多高级特性和最佳实践。

    HttpClient发送post请求传输json数据

    在这个主题中,我们将专注于如何使用HttpClient发送POST请求并传输JSON数据。在实际的Web服务开发和API调用中,这是一个非常常见的需求。 首先,理解POST请求:与GET请求不同,POST请求通常用于向服务器发送数据,...

    httpclient post json 数据

    "httpclient post json数据"这个主题就是关于如何使用C#的HttpClient类来向Web API发送POST请求,并且以JSON格式传输数据。下面将详细解释这一过程。 首先,理解JSON(JavaScript Object Notation)是一种轻量级的...

    android httpclient 访问服务器 获取json数据

    这就是使用Android中的HTTPClient库访问服务器并获取JSON数据的基本步骤。注意,Android现在推荐使用更现代的网络库,如OkHttp或Retrofit,因为它们有更好的性能和更丰富的功能。然而,对于学习和理解基础网络通信,...

    Android利用Json来进行网络数据传输

    在给定的例子中,`HttpUtils`类展示了如何使用`DefaultHttpClient`发送GET请求获取JSON数据。首先创建`HttpClient`实例,然后构造`HttpGet`对象,设置请求URL。接着执行请求并获取`HttpResponse`,从响应实体中提取...

    httpClient-jar包_json解析_

    使用HttpClient时,你需要先构建一个HttpClient实例,然后创建一个HttpGet或HttpPost对象,设置请求URL和参数。接着,通过HttpClient执行请求,获取HttpResponse。如果响应内容是JSON格式,可以使用JSON解析库将其...

    GetJson是从REST服务接收JSON数据的最简单HTTP库

    例如,以下是一个简单的示例,展示了如何使用"GetJson"获取JSON数据: ```java import com.getjson.GetJson; public class JsonExample { public static void main(String[] args) { String apiUrl = ...

    C# url post get json

    综上所述,"C# url post get json"涉及的是使用C#进行HTTP请求(GET和POST)以及处理JSON数据。这通常在Web API交互、数据传输和网络通信中非常常见。理解并熟练运用这些概念对于任何C#开发者来说都至关重要。`...

    org.json 和 commons-httpclient

    在IT行业中,`org.json`和`commons-httpclient`是两个非常重要的库,它们分别用于处理JSON数据和执行HTTP客户端请求。这两个库在Java开发中起着关键的作用,尤其是在构建Web服务、API交互以及网络通信时。 首先,...

    C# http post协议,数据交互形式为json

    3. **POST请求的构建**:使用`HttpClient`发送POST请求时,需要创建一个`HttpRequestMessage`对象,设置其请求方法为"POST",URL为目标地址,并在`Content`属性中添加JSON数据。例如: ```csharp var request = ...

    HTTP Post提交Json与接收返回结果 Winform程序

    在这个场景中,我们将关注于使用Winform应用程序通过HTTP POST方法发送JSON数据,并接收服务器返回的JSON结果。Winform是.NET Framework中的一个用户界面库,用于构建桌面应用程序。 首先,我们需要理解HTTP POST...

    HttpGet的使用

    了解HttpGet的使用,不仅可以帮助开发者进行数据抓取,还可以在API调用、网页爬虫等场景下发挥重要作用。在实际开发中,还需要关注HTTP协议的其他请求方法,如POST、PUT、DELETE等,以及HTTPS安全连接、身份验证等...

    PB调用http apiPB解析json

    3. **PB解析JSON**:PowerBuilder提供了一些内置或第三方库来解析JSON数据,例如使用pbjson、jsonobject等类库。解析JSON数据时,首先需要将响应内容转换为字符串,然后使用JSON解析器将字符串转换为数据结构,如数...

    HttpClientUtil工具类发送get和post请求,支持http和https,支持发送文件

    1. GET请求:HttpClientUtil中的GET方法通常会创建一个HttpGet对象,设置请求的URL,并通过HttpClient的execute方法发送请求。响应结果可以通过HttpEntity获取,然后解析成字符串或者特定的对象,例如JSON或XML。 2...

    listview中json数据展示

    - 在应用启动或者用户触发特定操作时,使用HTTPClient发起请求获取JSON数据。 - 在后台线程中解析JSON数据,避免阻塞主线程。 - 解析完成后,更新Adapter的数据列表,调用`notifyDataSetChanged()`通知ListView...

    httpClient 网络传输的实例

    本实例将深入讲解如何使用HttpClient进行网络传输。 一、HttpClient基本概念 HttpClient是一个实现了HTTP/1.0和HTTP/1.1协议的客户端编程工具包。它不仅支持基本的HTTP方法,还支持HTTPS、Cookie管理、连接池、...

    一个使用HttpClient调用天气预报接口的例程

    在Android开发中,HttpClient是一个常用...通过以上知识点的学习,你可以理解如何使用HttpClient进行网络请求,以及处理返回的JSON数据。但请注意,对于新的Android项目,最好遵循最新的最佳实践,使用更现代的网络库。

    httpclient http客户端

    - 使用`NameValuePair`或`HttpEntity`发送表单数据或JSON数据。 - 使用`RedirectStrategy`控制重定向行为。 - 使用`AuthenticationStrategy`进行身份验证。 - 使用`PoolingHttpClientConnectionManager`管理连接池。...

    http传输接收json.zip

    标题中的“http传输接收json.zip”表明这是一个关于Java后端如何通过HTTP协议接收并处理JSON数据的示例项目。在现代Web开发中,HTTP是客户端(如浏览器)与服务器之间进行通信的主要协议,而JSON(JavaScript Object...

    android网络请求 json传输

    在Android应用开发中,网络请求和JSON数据传输是不可或缺的部分,尤其在当今互联网时代,大部分应用程序都需要与服务器进行数据交互。JSON(JavaScript Object Notation)因其轻量级、易读写和易于处理的特性,成为...

Global site tag (gtag.js) - Google Analytics