`

java_HttpClient使用HttpGet进行json数据传输

    博客分类:
  • Java
 
阅读更多

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使用HttpGet进行json数据传输(所使用的jar.zip)

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

    HttpClient发送post请求传输json数据

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

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

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

    httpClient-jar包_json解析_

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

    HttpConfigUtil.zip_访问外部接口转换成json数据

    在Java中,可以使用`HttpURLConnection`、`HttpClient`(Apache Commons HttpClient库)或者`OkHttp`库来实现HTTP请求。例如,`HttpConfigUtil.java`可能是用于封装HTTP请求逻辑的工具类。 3. **JSON解析**:接收到...

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

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

    java实现http请求以及解析json与java对象转换 项目源代码实例

    在Java中,可以通过多种方式实现HTTP请求,例如使用`java.net.URL`和`java.net.HttpURLConnection`类,或者使用Apache HttpClient库。这个项目源代码可能包含了使用这些方法之一的例子,展示如何发送GET、POST以及...

    Json.zip_JSON_java解析json

    在Java中,我们可以使用`HttpURLConnection`或者第三方库如Apache HttpClient、OkHttp来从网络获取JSON数据。以下是一个简单的例子,使用`HttpURLConnection`: ```java URL url = new URL(...

    java发送http/https请求(get/post)Demo,亲测可用

    这里我们将深入探讨如何使用Java发送GET和POST请求,以及处理JSON数据。 首先,让我们关注GET请求。GET请求主要用于从服务器获取资源,其参数通常包含在URL中。在Java中,可以使用`HttpURLConnection`类或者第三方...

    Java Json解析,Java Web Json解析,Java Web服务端获取Json数据,客户端通过HTTP获取Json数据

    对于客户端通过HTTP获取JSON数据,可以使用`HttpURLConnection`或Apache HttpClient等HTTP客户端库发起GET或POST请求。收到响应后,同样用对应的库解析返回的JSON字符串。 例如,使用HttpURLConnection获取JSON数据...

    httpClient调用wcf

    使用HttpClient,你可以创建一个`HttpClient`实例,然后构建`HttpGet`或`HttpPost`对象,设置请求URL(对应WCF服务的地址)和任何必要的请求头。 4. **处理响应**:发送请求后,HttpClient会返回一个`HttpResponse`...

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

    总之,"GetJson"是一个专注于简化REST服务与JSON数据交互的Java库,它为开发者提供了一个简洁的API,使得从网络获取和解析JSON数据变得轻松快捷。对于那些不希望在基础网络编程上花费过多时间的Java开发者来说,这是...

    HttpClient所需jar包(全) httpClient.4.13jar

    "json-lib"是一个与HttpClient相关的标签,表明这个压缩包可能还包括了处理JSON数据的库。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于Web服务之间的数据传输。json-lib是一个Java库,...

    java_http_post.zip_java http post_java http协议post_java post

    Java HTTP POST方法是Java编程中用于向Web服务器发送数据的一种常见技术,主要涉及网络编程和HTTP协议。在本文中,我们将深入探讨Java中如何实现HTTP POST请求,理解HTTP POST的工作原理,以及它与GET方法的区别。 ...

    HttpGet的使用

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

    org.json 和 commons-httpclient

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

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

    它支持多种数据传输格式,如JSON和XML,与HttpClient配合使用,可以轻松地实现客户端和服务器之间的数据交换。 总结来说,WPF中的异步调用Web API通过HttpClient能确保应用程序的响应性和用户体验。通过正确配置和...

    httpClient 网络传输的实例

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

    Java-duanxinjiekou.rar_HTTP_SMS HTTP java_java 短信_www.javaso_短信接

    1. **HTTP请求的初始化**:创建一个HttpURLConnection对象,或者使用Apache HttpClient创建一个HttpGet或HttpPost对象。 2. **设置请求属性**:可能包括设置请求方法(GET或POST)、添加请求头(如Content-Type、...

    http传输接收json.zip

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

Global site tag (gtag.js) - Google Analytics