`

第二讲 获取HttpURLConnection获取json

 
阅读更多
package com.cat.util;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class TestHttpContion
{
	private static String u;

	@SuppressWarnings("finally")
	public static String sendHttpProperty(String address)
	{
		StringBuffer returnStr = new StringBuffer();
		u = address;
		URL url = null;
		HttpURLConnection httpurlconnection = null;

		try
		{
			url = new URL(u);
			httpurlconnection = (HttpURLConnection) url.openConnection();
			httpurlconnection.setDoOutput(true);
			// 设置是否从httpUrlConnection读入,默认情况下是true;
			httpurlconnection.setDoInput(true);
			// Post 请求不能使用缓存
			httpurlconnection.setInstanceFollowRedirects(true);
			httpurlconnection.setUseCaches(false);
			httpurlconnection.setRequestProperty("connection", "keep-alive");
			// 设定传送的内容类型是可序列化的java对象
			// (如果不设此项,在传送序列化对象时,当WEB服务默认的不是这种类型时可能抛java.io.EOFException)
			httpurlconnection.setRequestProperty("Content-type",
					"application/x-java-serialized-object");
			httpurlconnection.setRequestProperty("Content-Type",
					"application/x-www-form-urlencoded");
			// 设定请求的方法为"POST",默认是GET
			httpurlconnection.setRequestMethod("POST");
			// 连接,从上述第2条中url.openConnection()至此的配置必须要在connect之前完成,
			httpurlconnection.setInstanceFollowRedirects(false);
			httpurlconnection.setConnectTimeout(2000);
			httpurlconnection.setReadTimeout(1000);
			httpurlconnection.setRequestProperty("Charsert", "UTF-8");
			httpurlconnection.connect();
			DataOutputStream out = new DataOutputStream(
					httpurlconnection.getOutputStream());
			out.writeBytes("");
			out.flush();
			out.close();

			DataInputStream reader = new DataInputStream(
					httpurlconnection.getInputStream());
			byte[] buffer = new byte[4096];
			int count = 0;
			while ((count = reader.read(buffer)) > 0)
			{
				String result = new String(buffer, 0, count);
				returnStr.append(result);
			}
			reader.close();

		} catch (Exception e)
		{
			e.printStackTrace();
		} finally
		{
			if (httpurlconnection != null)
			{
				httpurlconnection.disconnect();
			}
			return returnStr.toString();
		}
	}
}

 

这是一个用HttpURLConnection获取数据 并返回字符所获得字符串

分享到:
评论

相关推荐

    ajax跨域获取网站json数据的实例

    4:当为其余网站链接时,要去第三方网站读取json信息然后把json数据作为url放在播放器中 当为4时,我使用json时会出格式错误 当用jsonp解决跨域问题时,会出现返回格式接收不到 所以我用 public static String ...

    Android典型技术模块开发详解

    第2章 应用程序构建 2.1 创建Android工程 2.2 HelloAndroid详解 2.2.1 程序结构 2.2.2 代码分析 2.3 权限permission 2.4 LogCat日志调试 2.5 示例练习 2.5.1 登录界面 2.5.2 事件处理 2.6 本章小结 第二篇 Android...

    Android开发与应用——张荣,原书配套课件

    第2章 Android开发环境 2.1 Java开发环境安装 2.1.1 安装JDK 2.1.2 安装Eclipse 2.1.3 Eclipse中文包的安装 2.2 Android SDK 2.2.1 安装ADT 2.2.2 安装Android SDK 2.3 Android模拟器 2.3.1 创建...

    Android静默安装常用工具类

    execCommand(String[] commands, boolean isRoot, boolean isNeedResultMsg) shell环境执行命令,第二个参数表示是否root权限执行 execCommand(String command, boolean isRoot) shell环境执行命令 源码可见...

    疯狂Android讲义源码

     第2章 Android应用的界面编程 35  2.1 界面编程与视图(View)组件 36  2.1.1 视图组件与容器组件 36  2.1.2 使用XML布局文件控制UI  界面 40  2.1.3 在代码中控制UI界面 41  2.1.4 使用XML布局文件和Java ...

    疯狂Android讲义.part2

    第2章 Android应用的界面编程 35 2.1 界面编程与视图(View)组件 36 2.1.1 视图组件与容器组件 36 2.1.2 使用XML布局文件控制UI 界面 40 2.1.3 在代码中控制UI界面 41 2.1.4 使用XML布局文件和Java 代码混合控制UI...

    疯狂Android讲义.part1

    第2章 Android应用的界面编程 35 2.1 界面编程与视图(View)组件 36 2.1.1 视图组件与容器组件 36 2.1.2 使用XML布局文件控制UI 界面 40 2.1.3 在代码中控制UI界面 41 2.1.4 使用XML布局文件和Java 代码混合控制UI...

    精通Android 3 (中文版)2/2

    第2章 设置开发环境  2.1 设置环境  2.1.1 下载JDK 6  2.1.2 下载Eclipse 3.6  2.1.3 下载Android SDK  2.1.4 命令行窗口  2.1.5 安装ADT  2.2 了解基本组件  2.2.1 View  2.2.2 Activity  ...

    精通ANDROID 3(中文版)1/2

    第2章 设置开发环境  2.1 设置环境  2.1.1 下载JDK 6  2.1.2 下载Eclipse 3.6  2.1.3 下载Android SDK  2.1.4 命令行窗口  2.1.5 安装ADT  2.2 了解基本组件  2.2.1 View  2.2.2 Activity  ...

Global site tag (gtag.js) - Google Analytics