`

使用HttpURLConnection发请求获取数据

    博客分类:
  • Java
阅读更多

使用HttpURLConnection发请求获取数据

 

参考代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

/**
*  功能说明:HttpClient - 通过发送Http请求获取目标URL的数据
*/
public class HttpClient {
	
	/** 提交方式POST **/
	public static final String SUBMIT_METHOD_POST = "POST";
	
	/** 提交方式GET **/
	public static final String SUBMIT_METHOD_GET = "GET";
	

	/**
	 * 通过http请求获取数据
	 * @param urlStr	url地址,如:www.baidu.com
	 * @param param		url的?后的参数,如:www.baidu.com?a=1&&b=2,则param为"a=1&&b=2"
	 * @return			返回读取到的数据(json字符串)
	 */
	public static String pub(String urlStr,String param,String method)
	{
		URL url = null;
		HttpURLConnection connection = null;
		StringBuffer buffer = new StringBuffer();
		System.out.println("request:"+urlStr+"?"+param);
		try {
			/*建立连接*/  
			url = new URL(urlStr);
			connection = (HttpURLConnection) url.openConnection();
			
			/*设置连接属性 */
			connection.setDoOutput(true);// 使用 URL 连接进行输出   
			connection.setDoInput(true);// 使用 URL 连接进行输入   
			connection.setUseCaches(false);// 忽略缓存   
			connection.setRequestMethod(method);// 设置URL请求方法   
			
			/*设置请求属性*/
			connection.setRequestProperty("Content-Length",param.length()+"");
			connection.setRequestProperty("Content-Type", "application/octet-stream");   
			connection.setRequestProperty("Connection", "Keep-Alive");// 维持长连接   
			connection.setRequestProperty("Charset", "UTF-8");// 设置编码
			
			/*建立输出流,并写入数据*/ 
			OutputStream outputStream = connection.getOutputStream();
			outputStream.write(param.getBytes("UTF-8"));
			
			/*读取数据*/
			BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));			
			String line = "";
			while ((line = reader.readLine()) != null) {
				buffer.append(line);
			}
			reader.close();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (connection != null) {
				connection.disconnect();
			}
		}
		System.out.println("response:"+buffer.toString());
		return buffer.toString();
	}
	
	/*测试*/
	public static void main(String[] args) {
		pub("http://f.apiplus.cn/ssq.json", "a=1",SUBMIT_METHOD_POST);
	}
}

 

测试结果: 


 

 

参考:

Java中使用HttpURLConnection发起POST请求

用Java的HttpClient写一个简单的http请求和返回

HttpClient学习总结:基本http操作

HttpClient 教程

 

 

 

  • 大小: 14.6 KB
分享到:
评论

相关推荐

    httpurlconnection 获取服务器数据并解析

    本篇将深入讲解如何使用HTTPURLConnection获取服务器数据并进行JSON解析。 首先,我们需要理解HTTP的基础概念。HTTP(超文本传输协议)是一种应用层协议,用于在Web上交换数据。HTTPURLConnection类提供了创建和...

    HttpURLConnection获取json数据解析

    为了在子线程获取数据后更新UI,我们需要使用Handler。 1. **创建Handler**:在主线程中创建一个Handler实例,重写`handleMessage(Message msg)`方法。 2. **发送消息**:在子线程中,解析完JSON数据后,创建一个`...

    Android25图灵聊天项目------HttpURLConnection请求get文本数据

    本项目"Android25图灵聊天项目------HttpURLConnection请求get文本数据"聚焦于如何通过HttpURLConnection实现HTTP GET请求,获取服务器上的文本数据。以下是对这个项目的详细解读。 首先,我们要了解HTTP GET请求的...

    Httpurlconnection请求网络数据,使用Android Studio.zip

    本教程将深入探讨如何使用`HttpURLConnection`在Android Studio中请求网络数据,包括文本和图片。 首先,我们需要在AndroidManifest.xml文件中添加INTERNET权限,这是所有网络请求的前提: ```xml ``` 接下来,...

    Android-使用HttpURLConnection实现断点续传

    在Android开发中,网络编程是不可或...使用HttpURLConnection可以方便地实现这些操作,提高应用的用户体验。在实际开发中,我们还需要考虑多线程下载、并发控制、下载队列管理等高级特性,以进一步优化性能和资源利用。

    AndroidHttpURLConnection发送GET请求

    调用URL对象的openConnection( )来获取HttpURLConnection对象实例: HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 设置HTTP请求使用的方法:conn.setRequestMethod("GET"); 设置连接超时,...

    android 联网请求的两种方式HttpURLConnection和HttpClient

    在Android开发中,联网请求是应用与服务器交互的基础,用于获取或发送数据。常见的联网请求方式有两种:HttpURLConnection和HttpClient。下面将详细讲解这两种方法,以及它们如何处理POST和GET请求。 **...

    Android 简单使用 HttpURLConnection

    本篇文章将深入探讨如何在Android中简单使用`HttpURLConnection`进行网络请求。 首先,了解`HttpURLConnection`的基本用法。在Android中,网络操作通常在子线程(非UI线程)中进行,以避免阻塞主线程导致应用无响应...

    android使用Java原生httpUrlConnection进行get请求

    在这个场景下,我们将详细探讨如何使用Java原生的HttpURLConnection实现一个GET请求。 首先,我们需要了解GET请求的基本原理。GET请求是最常见的HTTP方法,用于从服务器获取资源。它将参数附加到URL中,以便服务器...

    HttpURLConnection获取webService上的值

    结合这两个部分,你可以构建一个完整的Java程序,使用HttpURLConnection从Web Service获取XML数据,然后使用DOM解析器处理这些数据。在实际项目中,可能还需要处理异常、设置请求头、使用POST方法发送数据等更复杂的...

    java后台调用HttpURLConnection类模拟浏览器请求实例(可用于接口调用)

    本篇文章将深入讲解如何使用`HttpURLConnection`类来模拟浏览器请求,并通过实例展示其在接口调用中的应用。 首先,`HttpURLConnection`是`java.net.URLConnection`的一个子类,用于处理HTTP协议。在使用`...

    使用java请求json接口数据

    在Java中,我们可以使用`java.net.URL`、`java.net.HttpURLConnection`或者第三方库如Apache HttpClient、OkHttp来实现这些请求。 `HttpServletRquest`类在描述中被提及,它是Java Servlet API的一部分,主要用于...

    本示例使用HttpUrlConnection实现上传文件

    1. **创建连接**:使用`URL`对象构造一个`HttpURLConnection`实例,通常会通过`openConnection()`方法来实现。例如: ```java URL url = new URL("http://yourserver.com/upload"); HttpURLConnection connection...

    使用HttpUrlConnection实现上传文件 服务器端代码

    本篇文章将详细讲解如何使用`HttpURLConnection`实现文件上传,同时涉及到服务器端处理上传文件的代码。我们将讨论以下核心知识点: 1. **HttpURLConnection介绍**: `HttpURLConnection`是Java标准库中的类,它是...

    HttpUrlConnection请求WebService.rar

    4. **写入请求体**:对于POST请求,可以通过`getOutputStream()`获取输出流,然后写入请求数据。这里通常需要序列化JSON数据,例如使用fastjson库: ```java String jsonString = "{\"key\":\"value\"}"; connection...

    HttpURLConnection OKHttp实现请求

    使用`HttpURLConnection`进行网络请求的基本步骤包括: 1. 获取`URL`对象,通过`openConnection()`方法创建`HttpURLConnection`实例。 2. 设置请求方法(GET、POST等)。 3. 可选地设置请求头,如`User-Agent`、`...

    Http学习之使用HttpURLConnection发送post和get请求 android

    接下来,我们将详细讲解如何使用`HttpURLConnection`实现这两种请求。 **发送GET请求** ```java URL url = new URL("http://example.com/api/data"); HttpURLConnection connection = (HttpURLConnection) url....

    使用HttpURLConnection

    成功发送请求后,可以使用`getInputStream()`读取响应数据。如果数据是JSON或XML格式,可以使用相应的库进行解析。对于大文件下载,可以使用`BufferedInputStream`和`FileOutputStream`分块写入文件。 6. **关闭...

    网络请求----HttpURLConnection的get,post和图片加载

    - 发起HTTP请求获取图片的URL,通过`conn.getInputStream()`获取图片流。 - 将图片流转换为Bitmap对象,例如:`Bitmap bitmap = BitmapFactory.decodeStream(inputStream);` - 将Bitmap显示在ImageView上:`...

    Android网络请求框架基于HttpUrlConnection的封装

    在Android应用开发中,网络请求是必不可少的一部分,用于获取服务器数据、更新UI或者进行其他交互。本篇文章将深入探讨如何基于HttpUrlConnection实现一个自定义的网络请求框架。HttpUrlConnection是Android系统提供...

Global site tag (gtag.js) - Google Analytics