`

使用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获取json数据解析

    使用HttpURLConnection请求链接,并解析View上的json数据字符串,并且使用Handler;使用JsonObject来解析数据

    AndroidHttpURLConnection发送GET请求

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

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

    http请求在Android开发中是必不可少的,现在我写了一个关于http get请求文本数据的例子希望能和大家交流学习

    HttpUrlConnection实例

    HttpUrlConnection获取json数据

    Android--7种网络请求方式

    1):HttpClient 方式获取网络数据 2): HttpURLConnection 使用原始方式获取数据 3): Volley 方式实现图片加载 4):XUtil方式获取网络 5):ImageLoader 方式加载图片 6):OkHttp 方式获取网络请求。

    GetHttp:请求获取http 个人简单测试工具

    测试 url 网络资源请求获取 url.openStream() eg:网络图片 测试 urlConnetction 网络资源\数据 获取 urlConnection = url.openConnection(); 测试 HttpURLConnetction 网络资源\数据 获取 HttpURLConnection = url....

    JAVA爬虫Jsoup -Mybatis-Plusaricle-crawling-master.zip

    使用 HttpUrlConnection 类发送 HTTP 请求,接着使用 Jsoup 对响应的 HTML 页面进行解析,获取我们想要的数据。最后,我们将获取的数据存储到数据库中,这里使用了 Mybatis-Plus 提供的 insert 方法。

    怎么向服务器提交用户名密码等数据

    httpURLConnection 设置最长连接时间和setRequestMethod请求方法 用GET还是POST 提交数据用POST 打开输入和输出流 获取上传信息 字节大小以及长度 设置请求体的类型是文本类型 获得输出流 向服务器输出数据 获得...

    搜索链接Java网络爬虫(蜘蛛)源码-zhizhu

    网页抓取:使用Java的网络编程库(如HttpURLConnection、Apache HttpClient等)来发送HTTP请求,获取网页的HTML内容。 网页解析:利用Java的HTML解析库(如Jsoup、HtmlCleaner等)来解析网页的HTML结构,提取出所需...

    java天眼查爬虫

    使用jsoup做的java爬虫, 登录自己的天眼查账号, 爬取公司详细数. 不足: 大概执行100次请求之后会被识别为机器人.

    Java多线程与线程安全实践-基于Http协议的断点续传

    使用Java的HttpURLConnection类连接到服务器,并发送GET请求获取要下载的文件的基本信息,包括文件名、文件大小等。 2.2 分块下载 将要下载的文件分成多个块,每个块使用一个线程进行下载。每个线程需要记录已下载...

    android 开发中用json解析客户端与服务器端的代码

    HttpURLConnection conn = (HttpURLConnection)url.openConnection(); //设置请求超时与请求方式 conn.setReadTimeout(5*1000); conn.setRequestMethod("GET"); //从链接中获取一个输入流对象 ...

    android获取(采集)网络图片的例子.rar

    编程思路:首先获取请求的路径,路径为我们想要得到的资源,建立URL对象,抛出异常,得到HttpURLConnection对象,声明请求方式,设置连接超时,得到服务器传回来的数据,相对我们来说输入流,得到数据, 创建一个...

    Android网络框架(Retrofit+Okhttp+Rxjava)、MVP模式(Dagger)

    大多数应用程序基本都需要连接网络,发送一些数据给服务端,或者从服务端获取一些数据。通常在 android 中进行网络连接一般使用 Scoket 和HTTP,HTTP 请求方式比 Scoket 多得多。HTTP 请求一般采用原生的 HttpClient...

    JavaJson:从 MySql 数据库中检索数据。 Java 应用程序,PHP Json

    Java 应用程序,PHP Json 该应用程序包括从 Web 服务器获取数据,使用 java 实现 HttpURLConnection 协议,而不是像通常那样使用 Mysql 控制器。 在 Java 中,我们创建了一个类,它将向我们的 Web 服务器发出请求,...

    Okhttp、Retrofit进度获取的方法(一行代码搞定)

    Okhttp不像SDK内置的HttpUrlConnection一样,可以明确的获取数据读写的过程,我们需要执行一些操作。 介绍 Retrofit依赖Okhttp、Okhttp依赖于Okio。那么Okio又是什么鬼?别急,看官方介绍: Okio is a library that ...

    Android-Simple-Weather-Application

    简单天气 此应用程序仅用于通过 GPS 进行基于位置的响应。... 使用 HttpURLConnection 类发出远程请求。 发出两个请求,一个请求当前位置天气,另一个请求五天预报。 APK 包含在可供下载的文件中。

    Android中实现网络图片的获取

    下面案例实现了基于URL的简单请求响应,通过HttpURLConnection 获取连接,通过InputStream获取输入流,BitmapFactory 将数据流转换为 Bitmap,再将 Bitmap 通过线程的 Message发送出去,Handler 接收到消息就会通知 ...

    42道Java网络编程相关面试题含答案(很全)

    Java网络编程主要涉及以下几个方面的内容: ...URLConnection类提供了一种访问URL资源的方式,可以读取URL指向的数据流。 HttpURLConnection类:HttpURLConnection是URLConnection的子类,专门用于处理HTTP协议。

Global site tag (gtag.js) - Google Analytics