开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1882|回复: 16
收起左侧

[android源码] Java实现精易论坛登录与查询个人资料

[复制链接]

结帖率:76% (32/42)
发表于 2017-2-25 07:42:06 | 显示全部楼层 |阅读模式   山东省*
适合有一定基础的阅读,主要学习HttpClient框架如何使用,简单三层结构,包含POST与GET请求,以及获取Cookies和携带Cookies的Demo。
  1. package bbs.dao;

  2. import java.text.MessageFormat;
  3. import java.util.ArrayList;
  4. import java.util.List;

  5. import org.apache.http.HttpResponse;
  6. import org.apache.http.NameValuePair;
  7. import org.apache.http.client.entity.UrlEncodedFormEntity;
  8. import org.apache.http.client.methods.HttpGet;
  9. import org.apache.http.client.methods.HttpPost;
  10. import org.apache.http.cookie.Cookie;
  11. import org.apache.http.impl.client.DefaultHttpClient;
  12. import org.apache.http.message.BasicNameValuePair;
  13. import org.apache.http.protocol.HTTP;
  14. import org.apache.http.util.EntityUtils;

  15. import bbs.domain.User;

  16. public class UserDao {
  17.        
  18.        
  19.         public UserDao() {

  20.         }
  21.        
  22.        
  23.         /**
  24.          * 登录功能
  25.          * [url=home.php?mod=space&uid=275307]@param[/url] user
  26.          * @return
  27.          */
  28.         public String login(User user){
  29.                 String url = "http://bbs.125.la/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1";
  30.                 try{
  31.                         DefaultHttpClient http = new DefaultHttpClient();
  32.                         HttpPost request = new HttpPost(url);
  33.                         List<NameValuePair> params = new ArrayList<NameValuePair>();
  34.                         params.add(new BasicNameValuePair("username",user.getUsername()));
  35.                         params.add(new BasicNameValuePair("password",user.getPassword()));
  36.                         request.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8));
  37.                         HttpResponse response = http.execute(request);
  38.                         if(response.getStatusLine().getStatusCode() == 200){
  39.                                 List<Cookie> cookies = http.getCookieStore().getCookies();
  40.                                 StringBuffer sb = new StringBuffer();
  41.                                 for (int i = 0; i < cookies.size(); i++) {
  42.                                         Cookie cookie = cookies.get(i);
  43.                                         sb.append(cookie.getName() + "=" + cookie.getValue() + ";");
  44.                                 }
  45.                                 user.setCookies(sb.toString());
  46.                                 return EntityUtils.toString(response.getEntity());
  47.                         }
  48.                 }catch(Exception e){
  49.                         throw new RuntimeException(e);
  50.                 }
  51.                 return null;
  52.         }
  53.        
  54.        
  55.         public String queryProfile(String uid , String cookies){
  56.                 String url = "http://bbs.125.la/home.php?mod=space&uid={0}&do=profile";
  57.                 try{
  58.                         url =  MessageFormat.format(url, uid);
  59.                         DefaultHttpClient http = new DefaultHttpClient();
  60.                         HttpGet request = new HttpGet(url);
  61.                         request.setHeader("Cookie", cookies);
  62.                         HttpResponse response = http.execute(request);
  63.                         if(response.getStatusLine().getStatusCode() == 200){
  64.                                 return EntityUtils.toString(response.getEntity());
  65.                         }
  66.                 }catch(Exception e){
  67.                         throw new RuntimeException(e);
  68.                 }
  69.                 return null;
  70.         }
  71.        
  72. }
复制代码


链接:http://pan.baidu.com/s/1dEAuuYl 密码:qhqq

评分

参与人数 1精币 +1 收起 理由
MrSimple + 1 支持开源~!感谢分享

查看全部评分

结帖率:77% (17/22)
发表于 2017-7-1 09:33:27 | 显示全部楼层   江苏省徐州市
楼主接java单不
回复 支持 反对

使用道具 举报

发表于 2017-6-9 22:59:28 | 显示全部楼层   山西省运城市
不错,学习了,写的很简单,最近学了okhttp
回复 支持 反对

使用道具 举报

发表于 2017-5-11 12:58:27 | 显示全部楼层   江苏省南京市

给java区顶一顶,顶一顶
回复 支持 反对

使用道具 举报

发表于 2017-5-11 12:56:19 | 显示全部楼层   江苏省南京市

给java区顶一顶,顶一顶
回复 支持 反对

使用道具 举报

发表于 2017-5-11 12:55:47 | 显示全部楼层   江苏省南京市

给java区顶一顶,顶一顶
回复 支持 反对

使用道具 举报

发表于 2017-5-11 12:54:42 | 显示全部楼层   江苏省南京市

给java区顶一顶,顶一顶
回复 支持 反对

使用道具 举报

发表于 2017-5-11 12:54:18 | 显示全部楼层   江苏省南京市

给java区顶一顶,顶一顶
回复 支持 反对

使用道具 举报

发表于 2017-5-11 12:54:04 | 显示全部楼层   江苏省南京市

给java区顶一顶,顶一顶
回复 支持 反对

使用道具 举报

发表于 2017-5-11 12:53:36 | 显示全部楼层   江苏省南京市

给java区顶一顶,顶一顶
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表