`

HttpURLConnection 的get和post请求

 
阅读更多

/**
	 * 发出一个GET请求
	 * @param path 请求的路径,不带参数
	 * @param params 参数
	 * @return
	 * @throws Exception
	 */
	private static boolean sendGetRequest(String path, Map<String, String> params, String encoding) throws Exception{
		// http://192.168.1.10:8080/videoweb/video/manage.do?method=save&name=xxx&timelength=90
		StringBuilder pathBuilder = new StringBuilder(path);
		pathBuilder.append('?');
		for(Map.Entry<String, String> entry : params.entrySet()){
			pathBuilder.append(entry.getKey()).append('=')
			.append(URLEncoder.encode(entry.getValue(), encoding)).append('&');
		}
		pathBuilder.deleteCharAt(pathBuilder.length() - 1);
		URL url = new URL(pathBuilder.toString());
		HttpURLConnection conn = (HttpURLConnection)url.openConnection();
		conn.setRequestMethod("GET");
		conn.setConnectTimeout(5*1000);
		if(conn.getResponseCode()==200){
			return true;
		}
		return false;
	}
	
	/**
	 * 发出一个POST请求
	 * @param path 请求的路径,不带参数
	 * @param params 参数
	 * @return
	 * @throws Exception
	 */
	private static boolean sendPostRequest(String path, Map<String, String> params, String encoding) throws Exception{
		// method=save&name=liming&timelength=78
		StringBuilder sb = new StringBuilder("");
		if(params!=null && !params.isEmpty()){
			for(Map.Entry<String, String> entry : params.entrySet()){
				sb.append(entry.getKey()).append('=')
				.append(URLEncoder.encode(entry.getValue(), encoding)).append('&');
			}
			sb.deleteCharAt(sb.length() - 1);
		}
		byte[] data = sb.toString().getBytes();//得到实体数据
		URL url = new URL(path);
		HttpURLConnection conn = (HttpURLConnection)url.openConnection();
		conn.setRequestMethod("POST");
		conn.setConnectTimeout(5*1000);
		conn.setDoOutput(true);//能过post方式提交数据,必须要允许输出
		conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
		conn.setRequestProperty("Content-Length", String.valueOf(data.length));
		OutputStream outStream = conn.getOutputStream();
		outStream.write(data);
		outStream.flush();
		outStream.close();
		if(conn.getResponseCode()==200){
			return true;
		}
		return false;
	}
	// HTTPS SSL  COOKIE
	private static boolean sendPostRequestHttpClient(String path, Map<String, String> params, String encoding) throws Exception{
		List<NameValuePair> paramPairs = new ArrayList<NameValuePair>();
		if(params!=null && !params.isEmpty()){
			for(Map.Entry<String, String> entry : params.entrySet()){
				BasicNameValuePair param = new BasicNameValuePair(entry.getKey(), entry.getValue());
				paramPairs.add(param);
			}
		}
		UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramPairs, encoding);
		HttpPost post = new HttpPost(path);
		post.setEntity(entity);
		DefaultHttpClient client = new DefaultHttpClient();//浏览器
		HttpResponse response = client.execute(post);		
		if(response.getStatusLine().getStatusCode()==200){
			return true;
		}
		return false;
	}
 
分享到:
评论

相关推荐

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

    在HttpURLConnection中加载图片,通常涉及异步请求和缓存策略。一个常见的做法是: - 发起HTTP请求获取图片的URL,通过`conn.getInputStream()`获取图片流。 - 将图片流转换为Bitmap对象,例如:`Bitmap bitmap =...

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

    本篇文章主要聚焦于使用`HttpURLConnection`类...总结,本文介绍了使用`HttpURLConnection`在Android中发送GET和POST请求的基本步骤,以及需要注意的关键点。理解这些概念有助于开发者在构建网络功能时做出明智的选择。

    http发送Get和Post请求工具类

    在`HttpUtils`中,通常会包含两个主要方法:`sendGetRequest`和`sendPostRequest`,分别用于执行GET和POST请求。 1. **GET请求**: - GET请求常用于获取服务器上的资源,它是无状态的,参数通过URL传递。`...

    解决了中文乱码的http的get和post请求demo

    Java的HttpURLConnection或HttpClient类都可以处理POST请求。在使用HttpURLConnection时,需要设置请求头`Content-Type`为`application/x-www-form-urlencoded;charset=UTF-8`,确保服务器知道数据的编码方式。示例...

    java 实现get,post请求

    总结,Java实现HTTP的GET和POST请求主要依赖于`HttpURLConnection`类。GET请求简单,直接连接并读取响应;POST请求需要设置输出,并写入请求数据。在处理网络请求时,我们还需要关注网络状态、超时、重试策略等问题...

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

    在myHttpUrlConnection这个文件中,可能包含了一个示例的HttpURLConnection GET请求的实现,你可以参考并学习其中的代码结构和逻辑。在实际项目中,考虑到性能和易用性,建议使用更高级的网络库,如Volley或OkHttp,...

    Android中Https请求get和post

    本篇将详细讲解Android中如何使用HTTPS进行GET和POST请求。 首先,HTTPS基于SSL/TLS协议,提供加密处理、服务器身份验证和消息完整性检查等功能。在Android中,我们通常会用到HttpURLConnection或者第三方库如...

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

    `HttpURLConnection`是Java标准库提供的一种轻量级的HTTP客户端,它允许我们在后台代码中发送GET和POST请求。本篇文章将深入讲解如何使用`HttpURLConnection`类来模拟浏览器请求,并通过实例展示其在接口调用中的...

    Java Http发起get和post请求

    本篇将详细介绍如何在Java中使用HttpURLConnection和HttpClient库来发起GET和POST请求。 **一、HttpURLConnection使用** 1. **GET请求** 发起GET请求,首先需要建立一个URL对象,然后通过openConnection()方法...

    HttpURLConnectionTest_Get_Post(绝对可以用)

    在Java编程语言中,`HttpURLConnection`是处理HTTP请求的标准API,它位于`java.net`包下,提供了发送GET和POST请求的能力。本教程将详细解释如何使用`HttpURLConnection`来实现这两种常见的HTTP操作。 首先,让我们...

    androd httpurlconnection(工具类) get post t

    这个Demo主要展示了如何使用HTTPUrlConnection进行GET和POST请求,以及图片的下载操作。下面将详细讲解这些知识点。 首先,我们来看GET请求。GET是HTTP协议中最常见的请求方法,通常用于获取服务器上的资源。在...

    android 后台 get和post请求数据

    总结,Android后台发送GET和POST请求主要涉及HTTP协议的使用、数据编码、网络请求库的选择以及异步处理。理解这些知识点对于开发能与服务器进行有效通信的Android应用至关重要。在处理过程中,要注意数据的安全性和...

    Android httpUrlConnection Post方式访问网络简单demo

    `TestHttpUrlCon`是Android客户端的Java类,它实现了使用`HttpURLConnection`发送POST请求的过程。以下是一些关键步骤: 1. **建立连接**:首先,你需要创建一个`URL`对象,传入服务器的URL地址,然后通过`open...

    service_java接口远程调用_get、post、带参数远程调用_

    可以使用`HttpURLConnection`或`HttpClient`模拟POST请求,但设置请求方法为GET: ```java HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); ...

    http请求工具类HttpClientUtil,get,post请求(csdn)————程序.pdf

    HttpClientUtil 是一个用于发送 HTTP 请求的工具类,主要支持 GET 和 POST 方法。它使用了 Apache HttpClient 库,这是一个强大的 Java 客户端编程工具包,用于处理 HTTP 协议。以下是对类中关键方法和概念的详细...

    Android总GET/POST请求服务器

    安装依赖后,GET和POST请求变得非常简单: ```java // 添加依赖 implementation 'com.loopj.android:android-async-http:1.4.9' // GET请求 AsyncHttpClient client = new AsyncHttpClient(); client.get(...

    java发送http/https请求(get/post)代码

    本文将详细讲解如何使用Java发送GET和POST请求,以及涉及的HTTPS安全连接。 首先,理解HTTP和HTTPS的区别至关重要。HTTP(超文本传输协议)是一种用于分发超媒体信息的应用层协议,而HTTPS(超文本传输安全协议)是...

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

    在Android开发中,联网请求是应用与...理解这两种方法的工作原理以及如何处理GET和POST请求,是每个Android开发者必备的技能。在实际开发中,还可以结合使用第三方库,如Retrofit、OkHttp等,以简化网络请求的处理。

    基于HttpURLConnection的封装http请求

    基于HttpURLConnection的封装http请求,进行了https校验忽略,对get和post进行了整合,更方便请求,对header以及超时的进行了可配置化处理,对返回也进行了封装,便于请求结果的处理。

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

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

Global site tag (gtag.js) - Google Analytics