Java 实现对Discuz 论坛登录 ()
来源:互联网 发布:淘宝的市场定位 编辑:程序博客网 时间:2024/04/28 21:32
Java 实现对Discuz 论坛登录 ()
我们先来看看Discuz 论坛登录需要的参数, 通过浏览器的调试模式可以得出。
从图中看到POST 提交 登录参数。 头部信息 mod : logging 以及 表单信息Form Data。
那么登录参数代码就来了。
<pre name="code" class="java">/** * 客户端登录的方法 * @param client * @param uname 用户名 * @param passwd 密码 * @param url 论坛地址 * @return */public static boolean Login(HttpClient client,String uname,String passwd,String url){HttpClient httpClient = client;HttpPost httpPost=new HttpPost(url+"/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1");List params=new ArrayList<Object>();params.add(new BasicNameValuePair("username",uname));params.add(new BasicNameValuePair("password",passwd)); String ans = null;try { httpPost.setEntity(new UrlEncodedFormEntity( params, "UTF-8")); HttpResponse response=httpClient.execute(httpPost); HttpEntity entity=response.getEntity(); ans=EntityUtils.toString(entity);// System.out.println(ans); if((ans.lastIndexOf(url+"/./")) !=-1){ //获取用户的一些信息 HttpGet getD=new HttpGet(url+"/"); response = httpClient.execute(getD); entity=response.getEntity(); ans=EntityUtils.toString(entity,"GBK"); UkUser.uname =uname;UkUser.discuz_uid=ans.substring(ans.lastIndexOf("discuz_uid = '")+14, ans.lastIndexOf("', cookiepre"));UkUser.formhash=ans.substring(ans.lastIndexOf("formhash=")+9,ans.lastIndexOf("formhash=")+17);return true; }}catch (Exception e){ e.printStackTrace(); return false;}return false;}
这里需要抓取 discuz_uid 为用户的ID 以及登录后分配的一个formhash
n那么我们来看看主函数
public static void main(String[] args){HttpClient httpClient = new DefaultHttpClient();if(login(httpClinet,name,passwd,url)){System.out.println("登录成功");}else {System.out.printlin("登录失败");}}
Ok ,这里需要用到org.apache包, 在Android 中应该是自带了。 纯Java 需要引入这些包。
jar 下载地址
0 0
- Java 实现对Discuz 论坛登录 ()
- Python实现自动登录discuz论坛
- android实现discuz论坛的登录
- java整合discuz小结(实现与论坛同步登录等操作)
- java和Discuz论坛实现单点登录,通过Ucenter(用户管理中心)
- java整合discuz小结(实现与论坛同步登录等操作)
- java整合discuz小结(实现与论坛同步登录等操作)
- 实现discuz门户与论坛不能同步登录的问题
- java整合discuz论坛同步注册同步登录小结
- discuz论坛 用户登录 后台程序
- 修改Discuz论坛实现对附件下载的限速
- discuz 论坛与主站同步登录
- discuz论坛登录慢,访问页面正常
- C#模拟登录Discuz论坛 附代码 Discuz X1.5
- php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
- PYTHON实现DISCUZ论坛的自动POST登录发贴回帖
- 黄聪:Python实现Discuz论坛的自动POST登录发贴回帖(转)
- C#实现Discuz登录程序
- Putty工具包简单使用
- 指针
- CocosStudio v2.x版本教程——“回调特性”(C++语言版)
- # spring容器对数据源属性文件解释抛出的异常
- LeetCode --- 71. Simplify Path
- Java 实现对Discuz 论坛登录 ()
- N-gram模型
- TOJ 1754 Circular Area 两圆相交的面积
- LeetCode --- 72. Edit Distance
- 面试记录-A公司
- 计算二进制中1的个数
- linux修改/etc/profile权限
- UVA - 10474 - Where is the Marble? (基数排序)
- [Debug]Kernel panic学习笔记(二)