/**
* 发出一个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中加载图片,通常涉及异步请求和缓存策略。一个常见的做法是: - 发起HTTP请求获取图片的URL,通过`conn.getInputStream()`获取图片流。 - 将图片流转换为Bitmap对象,例如:`Bitmap bitmap =...
本篇文章主要聚焦于使用`HttpURLConnection`类...总结,本文介绍了使用`HttpURLConnection`在Android中发送GET和POST请求的基本步骤,以及需要注意的关键点。理解这些概念有助于开发者在构建网络功能时做出明智的选择。
在`HttpUtils`中,通常会包含两个主要方法:`sendGetRequest`和`sendPostRequest`,分别用于执行GET和POST请求。 1. **GET请求**: - GET请求常用于获取服务器上的资源,它是无状态的,参数通过URL传递。`...
Java的HttpURLConnection或HttpClient类都可以处理POST请求。在使用HttpURLConnection时,需要设置请求头`Content-Type`为`application/x-www-form-urlencoded;charset=UTF-8`,确保服务器知道数据的编码方式。示例...
总结,Java实现HTTP的GET和POST请求主要依赖于`HttpURLConnection`类。GET请求简单,直接连接并读取响应;POST请求需要设置输出,并写入请求数据。在处理网络请求时,我们还需要关注网络状态、超时、重试策略等问题...
在myHttpUrlConnection这个文件中,可能包含了一个示例的HttpURLConnection GET请求的实现,你可以参考并学习其中的代码结构和逻辑。在实际项目中,考虑到性能和易用性,建议使用更高级的网络库,如Volley或OkHttp,...
本篇将详细讲解Android中如何使用HTTPS进行GET和POST请求。 首先,HTTPS基于SSL/TLS协议,提供加密处理、服务器身份验证和消息完整性检查等功能。在Android中,我们通常会用到HttpURLConnection或者第三方库如...
`HttpURLConnection`是Java标准库提供的一种轻量级的HTTP客户端,它允许我们在后台代码中发送GET和POST请求。本篇文章将深入讲解如何使用`HttpURLConnection`类来模拟浏览器请求,并通过实例展示其在接口调用中的...
本篇将详细介绍如何在Java中使用HttpURLConnection和HttpClient库来发起GET和POST请求。 **一、HttpURLConnection使用** 1. **GET请求** 发起GET请求,首先需要建立一个URL对象,然后通过openConnection()方法...
在Java编程语言中,`HttpURLConnection`是处理HTTP请求的标准API,它位于`java.net`包下,提供了发送GET和POST请求的能力。本教程将详细解释如何使用`HttpURLConnection`来实现这两种常见的HTTP操作。 首先,让我们...
这个Demo主要展示了如何使用HTTPUrlConnection进行GET和POST请求,以及图片的下载操作。下面将详细讲解这些知识点。 首先,我们来看GET请求。GET是HTTP协议中最常见的请求方法,通常用于获取服务器上的资源。在...
总结,Android后台发送GET和POST请求主要涉及HTTP协议的使用、数据编码、网络请求库的选择以及异步处理。理解这些知识点对于开发能与服务器进行有效通信的Android应用至关重要。在处理过程中,要注意数据的安全性和...
`TestHttpUrlCon`是Android客户端的Java类,它实现了使用`HttpURLConnection`发送POST请求的过程。以下是一些关键步骤: 1. **建立连接**:首先,你需要创建一个`URL`对象,传入服务器的URL地址,然后通过`open...
可以使用`HttpURLConnection`或`HttpClient`模拟POST请求,但设置请求方法为GET: ```java HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); ...
HttpClientUtil 是一个用于发送 HTTP 请求的工具类,主要支持 GET 和 POST 方法。它使用了 Apache HttpClient 库,这是一个强大的 Java 客户端编程工具包,用于处理 HTTP 协议。以下是对类中关键方法和概念的详细...
安装依赖后,GET和POST请求变得非常简单: ```java // 添加依赖 implementation 'com.loopj.android:android-async-http:1.4.9' // GET请求 AsyncHttpClient client = new AsyncHttpClient(); client.get(...
本文将详细讲解如何使用Java发送GET和POST请求,以及涉及的HTTPS安全连接。 首先,理解HTTP和HTTPS的区别至关重要。HTTP(超文本传输协议)是一种用于分发超媒体信息的应用层协议,而HTTPS(超文本传输安全协议)是...
在Android开发中,联网请求是应用与...理解这两种方法的工作原理以及如何处理GET和POST请求,是每个Android开发者必备的技能。在实际开发中,还可以结合使用第三方库,如Retrofit、OkHttp等,以简化网络请求的处理。
基于HttpURLConnection的封装http请求,进行了https校验忽略,对get和post进行了整合,更方便请求,对header以及超时的进行了可配置化处理,对返回也进行了封装,便于请求结果的处理。
这里我们将深入探讨如何使用Java发送GET和POST请求,以及处理JSON数据。 首先,让我们关注GET请求。GET请求主要用于从服务器获取资源,其参数通常包含在URL中。在Java中,可以使用`HttpURLConnection`类或者第三方...