import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Properties;
import android.util.Log;
import com.xxx.may.api.ASendManager;
public class HTTPSend extends ASendManager {
@Override
public void sendData(Properties paratemerproperties) {
String tag ="HTTPSend:sendData";
int statsID = 101;
String s = "TYPE=101,102,103,104,105,100&NAME=1,2,3,4,5,6&VALUE=clicknews,2009-06-11-22:33:11,320,nomessageforyou,1000,NullPointException&IMEI=10001&APPID=91";
String url1 = (String) paratemerproperties.get("post_data_url");
Log.e(tag, "send the data:"+url1+s);
try {
URL url = new URL(url1);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");
connection.setReadTimeout(20000);
connection.setConnectTimeout(20000);
OutputStream out = connection.getOutputStream();
out.write(s.getBytes());
out.flush();
out.close();
Log.e(tag, "Response code :"+connection.getResponseCode());
connection.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* <p>
* Resend the data when you want to
* </p>
*
* @param data
* data
* @throws IOException
* {@link IOException}
*/
private void resend(String datas[], String url,String appid) throws IOException {
String tag = "HTTPSend:resend";
DefaultHttpClient dhc = new DefaultHttpClient();
HttpPost hp = new HttpPost(url1);
HttpResponse httpResponse = null;
List<NameValuePair> list = new ArrayList<NameValuePair>();
list.add(new BasicNameValuePair(ParameterConstanst.TIME_API_SEND, System
.currentTimeMillis()
+ ""));
list.add(new BasicNameValuePair(ParameterConstanst.APPLICATION_ID, appid));
list.add(new BasicNameValuePair(ParameterConstanst.OS, "android"));
list.add(new BasicNameValuePair(ParameterConstanst.PLATFORM, "1.5"));
list.add(new BasicNameValuePair(ParameterConstanst.MSISDN, "000000000"));
list.add(new BasicNameValuePair(ParameterConstanst.PROTOCOL_VERSION, "1"));
list.add(new BasicNameValuePair(ParameterConstanst.IMEI, CollectIMEI.getIMEI()));
list.add(new BasicNameValuePair(ParameterConstanst.TIME_API_CALLED, datas[0]));
list.add(new BasicNameValuePair(ParameterConstanst.STATS_ID, datas[1].trim()));
list.add(new BasicNameValuePair(ParameterConstanst.STATS_VALUE, datas[2].trim()));
try {
hp.setEntity(new UrlEncodedFormEntity(list));
hp.setHeader(new BasicHeader(ParameterConstanst.TIME_OUT, "20000"));
httpResponse = dhc.execute(hp);
LogAPI.i(tag, "send data result : "+ httpResponse.getStatusLine().getStatusCode());
} catch (ClientProtocolException e1) {
LogAPI.e(tag, "[ Exception:+"+e1.getMessage()+" ]");
} catch (IOException e1) {
LogAPI.e(tag, "[ Exception:+"+e1.getMessage()+" ]");
throw e1;
}finally{
hp.abort();
LogAPI.e(tag, "[ finally in send data... ]");
}
}
分享到:
- 2009-10-10 12:31
- 浏览 2526
- 评论(0)
- 论坛回复 / 浏览 (0 / 4778)
- 查看更多
相关推荐
POST和GET是HTTP请求方法的两种主要类型,POST用于提交数据,而GET用于获取数据。 1. GET请求与JSON: GET请求通常用于获取资源。在使用HttpUrlConnection发送GET请求时,我们将参数附加到URL上。例如,如果我们要...
- POST请求常用于提交数据,数据包含在请求体中,不可见,且数据量没有GET那么多的限制。 **HttpPost和HttpGet** HttpGet是HttpClient中的GET请求实现,而HttpPost是POST请求实现。它们的区别在于处理请求参数的...
本文将详细讲解如何在Android端使用GET和POST方法提交数据到服务器,并结合传智播客张泽华Android视频54-57中的代码示例进行解析。 一、GET方法 GET方法是最简单的HTTP请求方式,常用于获取服务器上的资源。在...
使用`HttpURLConnection`提交数据的基本步骤如下: 1. **建立连接**:通过URL对象获取`HttpURLConnection`实例。 2. **设置请求方法**:通常为`POST`,表示我们要向服务器发送数据。 3. **设置请求属性**:如...
以下将详细讲解四种提交数据到服务器的方法:GET、POST、HttpClient的GET以及HttpClient的POST。 1. GET方法: GET是HTTP协议中最基本的请求方法,用于从服务器获取资源。在Android中,可以使用`HttpURLConnection`...
本文将详细介绍如何使用HttpURLConnection在Android中进行GET请求JSON数据、POST提交JSON数据以及下载图片。 1. GET请求JSON数据 GET请求是最基本的HTTP方法,用于从服务器获取资源。以下是一个使用...
GET请求通常用于从服务器检索数据,而POST请求则用于提交数据到服务器,比如上传文件或发送表单数据。在封装类中,需要区分对待这两种请求类型的不同处理逻辑。 针对文件的上传和下载操作,封装类需要提供不同的...
在Android开发中,HTTP协议是应用层网络通信的...总结,本文介绍了使用`HttpURLConnection`在Android中发送GET和POST请求的基本步骤,以及需要注意的关键点。理解这些概念有助于开发者在构建网络功能时做出明智的选择。
总结来说,使用Java和Android进行HTTP POST提交数据涉及以下步骤: 1. 创建HTTP连接对象,设置请求方法为POST。 2. 设置请求头,如Content-Type(通常为"application/x-www-form-urlencoded")。 3. 编写并发送请求...
POST则常用于提交数据给服务器,数据包含在请求正文中。 2. **避免阻塞主线程**:由于网络访问可能消耗大量时间,因此不应在Android应用程序的主线程中执行,以防止应用程序无响应(ANR)。推荐在子线程或者使用...
使用SharedPreferences编辑器进行增删改操作,然后通过commit()或apply()方法提交更改。这种方式操作简单,但不适合大量复杂数据的存储。 2. File: Android提供了对文件系统的访问权限,开发者可以直接操作文件来...
POST请求则常用于提交数据,如表单提交,数据在请求体中,大小限制相对较大,对用户不透明。 ### GET请求 在Android中,可以使用`HttpURLConnection`或第三方库如`OkHttp`来实现GET请求。以`HttpURLConnection`为例...
Android应用常常通过调用RESTful API来获取或提交远程服务器的数据。 8. **WebSocket**: WebSocket是一种在客户端和服务器之间建立长连接的协议,提供双向通信能力,适合实时性要求高的应用场景。 9. **Local ...
本文将详细解析"POST方式提交数据"这一主题,特别针对Android平台进行探讨。 首先,理解POST方法的基本概念。POST是HTTP协议中的一个请求方法,用于向指定资源提交数据,以创建或更新资源。它将数据封装在请求正文...
以上就是关于Android中使用HTTPUrlConnection进行GET、POST请求以及图片下载的基本知识。在实际项目中,还需要考虑到错误处理、网络状态判断、异步请求等方面,以提高用户体验和程序的健壮性。在压缩包中的Day05_...
- POST请求常用于提交数据,数据封装在请求体中,对数据量无明显限制,相对安全但较慢。 3. 封装HttpURLConnection 为了提高代码的可复用性和可维护性,通常我们会将HttpURLConnection的使用封装到一个单独的类或...
本示例源程序聚焦于使用HTTP协议在Android应用中上传数据,具体是通过Android Studio中的HttpURLConnection类来实现。同时,服务器端使用ASP(Active Server Pages)进行数据处理,将接收到的数据保存至数据库并进行...
在Android中,我们通常使用`org.json`库或者Gson库来处理JSON数据。 1. **设置网络权限**: 在AndroidManifest.xml中,添加`<uses-permission>`标签以获取网络访问权限: ```xml <uses-permission android:name=...
- POST请求常用于提交数据,如表单数据、文件上传等。数据被包含在请求体中。 - Android中,可以使用`HttpURLConnection`或`HttpClient`来实现POST请求。`HttpURLConnection`是Java标准库的一部分,适用于API级别...