首页 > 代码库 > Java HttpPost
Java HttpPost
Java HttpPost
最近写项目的时候,需要用到java获得一个服务器上数据库的内容。
在连接服务器数据库时需要使用以上包中的类,使用json格式传送
1 public static String Register(String username,String password,int operator) throws Exception 2 { 3 String returnString = "Failed"; 4 String []urlString = {"http://test.inscut.com/android/register.php","http://test.inscut.com/android/login.php"}; 5 HttpPost httpPost = new HttpPost(urlString[operator]); 6 //params:send to server 7 ArrayList<NameValuePair> params = new ArrayList<NameValuePair>(); 8 params.add(new BasicNameValuePair("username", username)); 9 params.add(new BasicNameValuePair("password", password));10 try {11 httpPost.setEntity(new UrlEncodedFormEntity(params,"utf8"));12 } catch (UnsupportedEncodingException e) {13 // TODO Auto-generated catch block14 e.printStackTrace();15 }16 //send post return HttpResponse object17 HttpResponse response = null;18 try {19 response = new DefaultHttpClient().execute(httpPost);20 } catch (ClientProtocolException e) {21 // TODO Auto-generated catch block22 e.printStackTrace();23 } catch (IOException e) {24 // TODO Auto-generated catch block25 e.printStackTrace();26 }27 if(response!=null)28 {29 int res = response.getStatusLine().getStatusCode();30 if(res==200)31 {32 HttpEntity entity = response.getEntity();33 if(entity!=null)34 {35 String info=null;36 try 37 {38 info = EntityUtils.toString(entity);39 } catch (ParseException e) 40 {41 e.printStackTrace();42 } catch (IOException e)43 {44 e.printStackTrace();45 }46 if(info!=null)47 {48 JSONObject jsonObject = new JSONObject(info);49 if(jsonObject.getString("flag").equals("success"))50 { 51 returnString = "Success";52 if(operator==1)53 returnString = jsonObject.getString("session_id");54 }55 56 }57 }58 }59 }60 return returnString;61 }
简单介绍下java同步数据库的流程:
1.使用java http类库向服务器发送http请求,
HttpPost httpPost = new HttpPost(urlString[operator]);
//params 是请求附带参数
ArrayList<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("username", username));
params.add(new BasicNameValuePair("password", password));
//给http请求设置实体部分,既将参数添加到http报文中
httpPost.setEntity(new UrlEncodedFormEntity(params,"utf8"));
//通过一个httpclient发送post请求
response = new DefaultHttpClient().execute(httpPost);
2.服务器返回处理结果,本例中使返回一个session_id值
int res = response.getStatusLine().getStatusCode();//返回信息的状态码,200表示正常(状态码是为了便于区分本次请求的结果如何,像常见的404,意味着你请求的网页找不到)
HttpEntity entity = response.getEntity();//获得返回http的实体部分,返回数据存在于http的实体部分
info = EntityUtils.toString(entity);
其实只看代码是有点难理解的,建议看完《HTTP权威指南》前四章,就能更加清楚的理解http
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。