Android通过http协议POST传输方式如下:
方式一:HttpPost(import org.apache.http.client.methods.HttpPost)
代码如下:
private Button button1,button2,button3;
private TextView textView1;
button1.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//URLַ
// String uriAPI = "http://www.dubblogs.cc:8751/Android/Test/API/Post/index.php";
String uriAPI = "http://172.20.0.206:8082//TestServelt/login.do";
/*建立HTTP Post连线*/
HttpPost httpRequest =new HttpPost(uriAPI);
//Post运作传送变数必须用NameValuePair[]阵列储存
//传参数 服务端获取的方法为request.getParameter("name")
List <NameValuePair> params=new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("name","this is post"));
try{
//发出HTTP request
httpRequest.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8));
//取得HTTP response
HttpResponse httpResponse=new DefaultHttpClient().execute(httpRequest);
//若状态码为200 ok
if(httpResponse.getStatusLine().getStatusCode()==200){
//取出回应字串
String strResult=EntityUtils.toString(httpResponse.getEntity());
textView1.setText(strResult);
}else{
textView1.setText("Error Response"+httpResponse.getStatusLine().toString());
}
}catch(ClientProtocolException e){
textView1.setText(e.getMessage().toString());
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
textView1.setText(e.getMessage().toString());
e.printStackTrace();
} catch (IOException e) {
textView1.setText(e.getMessage().toString());
e.printStackTrace();
}
}
});
方式二:HttpURLConnection、URL(import java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;)
private void httpUrlConnection(){
try{
String pathUrl = "http://172.20.0.206:8082/TestServelt/login.do";
//建立连接
URL url=new URL(pathUrl);
HttpURLConnection httpConn=(HttpURLConnection)url.openConnection();
////设置连接属性
httpConn.setDoOutput(true);//使用 URL 连接进行输出
httpConn.setDoInput(true);//使用 URL 连接进行输入
httpConn.setUseCaches(false);//忽略缓存
httpConn.setRequestMethod("POST");//设置URL请求方法
String requestString = "客服端要以以流方式发送到服务端的数据...";
//设置请求属性
//获得数据字节数据,请求数据流的编码,必须和下面服务器端处理请求流的编码一致
byte[] requestStringBytes = requestString.getBytes(ENCODING_UTF_8);
httpConn.setRequestProperty("Content-length", "" + requestStringBytes.length);
httpConn.setRequestProperty("Content-Type", "application/octet-stream");
httpConn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接
httpConn.setRequestProperty("Charset", "UTF-8");
//
String name=URLEncoder.encode("黄武艺","utf-8");
httpConn.setRequestProperty("NAME", name);
//建立输出流,并写入数据
OutputStream outputStream = httpConn.getOutputStream();
outputStream.write(requestStringBytes);
outputStream.close();
//获得响应状态
int responseCode = httpConn.getResponseCode();
if(HttpURLConnection.HTTP_OK == responseCode){//连接成功
//当正确响应时处理数据
StringBuffer sb = new StringBuffer();
String readLine;
BufferedReader responseReader;
//处理响应流,必须与服务器响应流输出的编码一致
responseReader = new BufferedReader(new InputStreamReader(httpConn.getInputStream(), ENCODING_UTF_8));
while ((readLine = responseReader.readLine()) != null) {
sb.append(readLine).append("\n");
}
responseReader.close();
tv.setText(sb.toString());
}
}catch(Exception ex){
ex.printStackTrace();
}
}
分享到:
相关推荐
HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。在Android应用中,我们通常使用HTTP协议来获取网页数据、下载文件或者发送用户数据到服务器。 ...
Android提供了多种方式来执行HTTP POST请求,包括使用`HttpURLConnection`、`HttpClient`(已废弃)以及第三方库如Volley、OkHttp等。这里我们主要讨论使用`HttpURLConnection`的实现步骤: - 首先,需要创建一个...
在Android开发中,HTTPClient是常用的网络通信库,它提供了HTTP协议的支持,允许应用程序通过POST和GET方法向服务器传输数据。本项目中的四个知识点聚焦于HTTPClient的使用,特别是文件上传以及HTTP的基本请求方法。...
在Android中,我们可以通过多种方式实现HTTP POST请求。一种常见的方式是使用HttpURLConnection类,它是Java标准库的一部分,适用于Android。以下是一个简单的使用HttpURLConnection进行POST请求的例子: 1. 首先,...
在Android平台上,将网页内容通过HTTP协议下载到指定文件夹是一项常见的任务,尤其在离线浏览、数据缓存或者后台更新资源的场景中。HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,它允许客户端(如...
HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。在Android应用中,HTTP主要用于发送请求获取服务器上的数据,如JSON或XML格式的数据,或者上传...
以上就是Android中通过HTTP协议实现文件上传的基本步骤。在实际应用中,还应考虑错误处理、进度显示、异步任务执行(如使用AsyncTask)等细节,以提供更好的用户体验。在“newsmanage”和“videonews”这两个文件中...
这种方式通过URL传递参数,简单直观但不安全且不适合大数据量传输。 ```java // 假设URL为:http://example.com/upload?title=MyTitle&timelength=60 String path = "http://example.com/upload"; Uri.Builder ...
在Android开发中,网络通信是应用与服务器交互的重要手段,GET和POST是HTTP协议中最常见的两种请求方法。本文将深入探讨如何在Android中利用这两种方式以及HttpClient框架来提交参数给Web应用。 首先,GET和POST的...
总结,Android通过HTTP协议上传文件至远程服务器涉及到客户端的文件读取、HTTP请求构建与执行,以及服务器端的接收、处理和存储。理解这一过程对于进行Android应用开发至关重要,尤其是涉及到用户数据交互的场景。
"android手写Http协议上传文件"这个主题就是关于如何利用Socket编程实现一个简单的HTTP协议来上传本地文件到服务器的过程。下面将详细讲解这个过程涉及的关键知识点。 1. **HTTP协议基础**: HTTP(超文本传输协议...
HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,它定义了客户端(如Android应用)和服务器之间的通信格式。本篇文章将深入探讨如何在Android中进行HTTP协议的网络编程,并以`HttpTestActivity.java`为...
在Android开发中,网络通信是不可或缺的一部分,而HTTP(超文本传输协议)是最常见的网络通信协议之一。本篇文章将深入探讨Android中使用HTTP的基础知识,包括HTTP协议的基本原理以及源码解析。 首先,理解HTTP协议...
"Adnroid http协议与数据传输 Jar包" 提供了一种方便的方式来实现Android客户端与Java Server Pages (JSP) 服务器端的数据交换。这个Jar包的核心功能是简化HTTP POST请求,使得开发者可以更高效地处理数据提交。 ...
在Android平台上进行文件传输时,HTTP(超文本传输协议)是一种常见的选择,尤其适用于移动设备间的文件共享或者从服务器下载/上传数据。HTTP基于TCP/IP协议栈,它为应用程序提供了简单且灵活的数据交换方法。本篇...
总之,老罗的Android视频http协议开发包为开发者提供了一个实战平台,通过学习和实践,开发者可以深入理解HTTP协议在Android应用中的应用,提升网络编程能力。同时,掌握好HTTP协议也是开发任何网络应用的基础,无论...
通常,我们使用HTTP协议的两种主要方法:POST和GET来传输数据。本文将详细讲解如何在Android中实现这两种方法,并讨论使用普通HTTP协议和Android内置的HttpClient库的区别。 1. **POST方法**: - POST请求常用于...
在Android开发中,HTTP协议是应用层中广泛使用的通信协议,用于客户端(通常是移动应用程序)与服务器之间的数据交互。GET和POST是HTTP协议中最常见的两种请求方法,它们各自有不同的应用场景和特性。 首先,我们来...
在Android中实现GET和POST方式登录,通常会用到`HttpURLConnection`或第三方库如`OkHttp`。以下是一个简单的`OkHttp` POST请求示例: ```java OkHttpClient client = new OkHttpClient(); FormBody.Builder builder...
在Android开发中,HTTPS协议是实现安全网络通信的重要方式,主要用来保护数据的传输安全,防止数据被中间人窃取或篡改。本篇将详细讲解Android中如何使用HTTPS进行GET和POST请求。 首先,HTTPS基于SSL/TLS协议,...