java_HttpClient使用HttpGet进行json数据传输

2023-05-16

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;  
    }  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java_HttpClient使用HttpGet进行json数据传输 的相关文章

随机推荐

  • win7 设置共享无线网络

    适用范围 xff1a 1 WIN7平台电脑 2 笔记本或带有WIFI模块的台式电脑 3 搜索不到win7新建的临时网络的M9 生成wifi网络属性 xff1a 1 WLAN是802 11g标准 2 带宽为54Mbps 开启windows 7
  • Installing newer GCC versions in Ubuntu

    Installing newer GCC versions in Ubuntu It is often useful to have installed never versions of the compiler in our syste
  • VirtualBox网络配置

    VirtualBox提供了三种联网方式 xff0c 在这里介绍前两种方式 xff08 NAT和HostInterface xff09 的配置方法 xff0c 第三种联网方式属于利用主机上的所有的虚拟机构建一个虚拟网络的方法 xff0c 较简
  • SSL/TLS安全:Schannel中WinShock漏洞及解决办法

    Schannel 是最新被发现存在 SSL TLS 安全问题的加密库 xff0c 在过去一年中 SSL TLS 协议出于各种错误的塬因占据着新闻头条 苹果的 SecureTransport OpenSSL GnuTLS 和 Mozilla
  • tomcat 报错:Error occurred during initialization of VM

    Error occurred during initialization of VM Unable to load native library Can 39 t find dependent libraries 这个是由于java的lib
  • oracle的declare声明语法

    declare cc integer begin pkg elevator ref sp elevator ref add i id 61 gt 351 i code 61 gt 39 Testregist 39 i asset 61 gt
  • 输入用户名和密码登入到服务器,却显示指定的网络密码不正确,输入了好几次都是这样,这是怎么回事? 用户名和密码没问题 ,一直用的好好地今天就不行了...

    指定的网络密码不正确 修改一下组策略就可以了 运行 组策略编辑器 gpedit msc 打开计算机配置 windows设置 安全设置 本地策略 安全选项中的 xff1a 网络安全 xff1a LAN管理器身份验证级别 xff0c 默认是 没
  • git创建仓库,并提交代码(第一次创建并提交)

    一直想学GIT xff0c 一直不曾学会 主要是GUI界面的很少 xff0c 命令行大多记不住 今天尝试提交代码 xff0c 按GIT上给的方法 xff0c 没料到既然提交成功了 于是把它记下来 xff0c 方便以后学习 代码是学习用的 x
  • 贪吃蛇 AI 的实现 snake AI

    1 首先看下这个非常在微博上很火的贪吃蛇gif 这次我们尝试用代码来模拟下 xff0c 说不定上面这个图就是计算机搞的 2 讲贪吃蛇AI之前 xff0c 我们先看下贪吃蛇移动的特点 物理上给人的感觉是整个贪吃蛇往右移了一步 xff0c 在贪
  • CDF 累积分布函数(cumulative distribution function)

    论文中经常出现CDF曲线 xff0c 什么是CDF呢 xff1f 其实很简单 累积分布函数 xff08 cumulative distribution function xff09 定义 xff1a 对 连续函数 xff0c 所有小于等于a
  • Unity3D游戏开发之仿仙剑奇侠传一2D游戏 (一)

    今天要和大家分享的是基于Unity3D开发2D游戏 xff0c 博主一直钟爱于国产武侠RPG xff0c 这个我在开始写Unity3D游戏开发系列文章的时候就已经说过了 xff0c 所以我们今天要做的就是利用Unity3D来实现在2D游戏中
  • Java中获取文件大小的正确方法

    本文出处 xff1a http blog csdn net chaijunkun article details 22387305 xff0c 转载请注明 由于本人不定期会整理相关博文 xff0c 会对相应内容作出完善 因此强烈建议在原始出
  • ubuntu 20.04安装gcc 4.9

    cd etc apt or sudo vim etc apt sources list 增加软件源 xff1a deb http dk archive ubuntu com ubuntu xenial main deb http dk ar
  • Linux下iptables屏蔽IP和端口号

    封单个IP的命令 xff1a iptables I INPUT s 124 115 0 199 j DROP 封IP段的命令 xff1a iptables I INPUT s 124 115 0 0 16 j DROP 封整个段的命令 xf
  • Linux 下zip包的压缩与解压

    linux zip 命令详解 功能说明 xff1a 压缩文件 语 法 xff1a zip AcdDfFghjJKlLmoqrSTuvVwXyz b lt 工作目录 gt ll n lt 字尾字符串 gt t lt 日期时间 gt lt 压缩
  • Oracle 函数 Translate 的用法

    一 语法 xff1a TRANSLATE string from str to str 二 目的 返回将 xff08 所有出现的 xff09 from str中的每个字符替换为to str中的相应字符以后的string TRANSLATE
  • java ant 详解

    1 什么是ant ant是构建工具 2 什么是构建 概念到处可查到 xff0c 形象来说 xff0c 你要把代码从某个地方拿来 xff0c 编译 xff0c 再拷贝到某个地方去等等操作 xff0c 当然不仅与此 xff0c 但是主要用来干这
  • kindeditor无法正常加载

    今天在给系统某jsp页面添加 kindeditor编辑器时 死活不正常显示 就只显示一个表格高度 可以左右拉伸就是拉不开 在下载下来的文件的example里都可以正常打开 判断原因 应该在我现有的项目里 xff0c 可能是js有冲突之类的
  • HTTP代理与反向代理

    quote size 61 medium 出于安全考虑 xff0c 局域网内的机器访问访问墙外的网站借助于代理服务器进行 xff0c 如果把局域网外Internet想象成一个巨大的资源库 xff0c 局域网内的用户要访问这个库里的资源必须统
  • java_HttpClient使用HttpGet进行json数据传输

    via http zhcheng iteye com blog 1292350 项目中与对方进行数据交互时 xff0c 对方提供了一套夸域json方式传递数据 xff0c 并给出了一个js示例 getJSON 34 http www asp