使用httpclient提交数据
2016-06-03 17:40
155 查看
apache httpClient 轻量级的浏览器:
使用GET方式数据步骤:
1、创建一个浏览器:
2、输入一个网址:
3、敲回车
模块代码:
//
// 1、创建一个浏览器:
// 2、输入一个网址:
HttpGet httpGet = new HttpGet(path);
//
// 3、敲回车
HttpResponse response = client.execute(httpGet);
//获取服务器端返回的响应码(状态码)
int code = response.getStatusLine().getStatusCode();
// int code = conn.getResponseCode();
if(code == 200){
// (2)解析服务器返回的二进制数据,解析成一个字符串
// InputStream is = conn.getInputStream();
//获取服务器返回的二进制数据流
InputStream is = response.getEntity().getContent();
}
使用post方式向服务器端提交数据
1、创建一个浏览器:
2、输入一个网址:
3、敲回车
模版代码:
package com.itheima.qqlogin;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import com.itheima.htmlview.utils.StreamTools;
public class MainActivity extends Activity {
// String data = “username=”+name+”&password=”+pwd;
// 1、创建一个浏览器:
// 2、输入一个网址:
HttpPost httpPost = new HttpPost(path);
//
// 3、敲回车
//设置提交的数据
httpPost.setEntity(entity);
HttpResponse response = client.execute(httpPost);
// 2、服务器返回数据
// (1)判断状态码:200 ok,404 没有找到资源、503、509 服务器端错误
int code = response.getStatusLine().getStatusCode();
// int code = conn.getResponseCode();
if(code == 200){
// (2)解析服务器返回的二进制数据,解析成一个字符串
InputStream is = response.getEntity().getContent();
使用GET方式数据步骤:
1、创建一个浏览器:
2、输入一个网址:
3、敲回车
模块代码:
package com.itheima.qqlogin; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import com.itheima.htmlview.utils.StreamTools; import android.app.Activity; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { private EditText et_name; private EditText et_pwd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_name = (EditText) findViewById(R.id.et_name); et_pwd = (EditText) findViewById(R.id.et_pwd); } public void login(View view){ final String name = et_qq.getText().toString().trim(); final String pwd = et_pwd.getText().toString().trim(); if(TextUtils.isEmpty(name) || TextUtils.isEmpty(pwd)){ Toast.makeText(this, "qq和密码不能空", 0).show(); return; }else{ new Thread(){ public void run() { try { String path = "http://192.168.22.136:8080/web/servlet/LoginServlet?username="+URLEncoder.encode(name,"UTF-8")+"&password="+URLEncoder.encode(pwd,"UTF-8");
//
// 1、创建一个浏览器:
HttpClient client = new DefaultHttpClient();
// 2、输入一个网址:
HttpGet httpGet = new HttpGet(path);
//
// 3、敲回车
HttpResponse response = client.execute(httpGet);
//获取服务器端返回的响应码(状态码)
int code = response.getStatusLine().getStatusCode();
// int code = conn.getResponseCode();
if(code == 200){
// (2)解析服务器返回的二进制数据,解析成一个字符串
// InputStream is = conn.getInputStream();
//获取服务器返回的二进制数据流
InputStream is = response.getEntity().getContent();
String result = StreamTools.readStream(is); System.out.println("---------"+ result); } } catch (Exception e) { e.printStackTrace(); } }; }.start(); } }
}
使用post方式向服务器端提交数据
1、创建一个浏览器:
2、输入一个网址:
3、敲回车
模版代码:
package com.itheima.qqlogin;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import com.itheima.htmlview.utils.StreamTools;
public class MainActivity extends Activity {
private EditText et_qq; private EditText et_pwd; private Handler handler = new Handler(){ public void handleMessage(android.os.Message msg) { String result = (String) msg.obj; Toast.makeText(MainActivity.this, result, 0).show(); }; }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_qq = (EditText) findViewById(R.id.et_qq); et_pwd = (EditText) findViewById(R.id.et_pwd); } public void login(View view){ final String name = et_qq.getText().toString().trim(); final String pwd = et_pwd.getText().toString().trim(); if(TextUtils.isEmpty(name) || TextUtils.isEmpty(pwd)){ Toast.makeText(this, "qq和密码不能空", 0).show(); return; }else{ new Thread(){ public void run() { try { String path = "http://192.168.22.136:8080/web/servlet/LoginServlet";
// String data = “username=”+name+”&password=”+pwd;
String data = "username="+URLEncoder.encode(name,"UTF-8")+"&password="+URLEncoder.encode(pwd,"UTF-8");
// 1、创建一个浏览器:
HttpClient client = new DefaultHttpClient();
// 2、输入一个网址:
HttpPost httpPost = new HttpPost(path);
List<BasicNameValuePair> parameters = new ArrayList<BasicNameValuePair>(); BasicNameValuePair p1 = new BasicNameValuePair("username", name); BasicNameValuePair p2 = new BasicNameValuePair("password", pwd); parameters.add(p1); parameters.add(p2); //默认使用iso-8859-1编码,需要指定UTF-8 UrlEncodedFormEntity entity = new UrlEncodedFormEntity(parameters,"UTF-8");
//
// 3、敲回车
//设置提交的数据
httpPost.setEntity(entity);
HttpResponse response = client.execute(httpPost);
// 2、服务器返回数据
// (1)判断状态码:200 ok,404 没有找到资源、503、509 服务器端错误
int code = response.getStatusLine().getStatusCode();
// int code = conn.getResponseCode();
if(code == 200){
// (2)解析服务器返回的二进制数据,解析成一个字符串
InputStream is = response.getEntity().getContent();
String result = StreamTools.readStream(is); System.out.println("---------"+ result); Message msg = Message.obtain(); msg.obj = result; handler.sendMessage(msg); } } catch (Exception e) { e.printStackTrace(); } }; }.start(); } } }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories