热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

android模拟登陆,android,httpclient_Android模拟登录数据获取不了?无法传递?,android,httpclient,模拟登录phpStudy...

Android模拟登录数据获取不了?无法传递?小白在做一个模拟登录教务系统的app,可是在post上遇到了问题,理想是如果登

Android模拟登录数据获取不了?无法传递?

小白在做一个模拟登录教务系统的app,可是在post上遇到了问题,理想是如果登录成功了就跳转到logi_success的页面,然后将获得的html源码直接贴上(之后json解析),如果失败的话就跳转到login_fault页面,点击“返回”按钮返回到登录页面

然后我现在遇到的问题是:不知道是数据传递的问题还是其他?我点击登录没有反应,logcat也米有错误提示,不知道是不是获取不了数据还是怎样,希望各位大神指点下小白,谢谢

下面贴代码:

MainActivity.java:

public class MainActivity extends Activity {

public static final int SHOW_RESPONSE=0;

private EditText user_id;

private EditText password;

private EditText validate;

private ImageView photo;

private CheckBox keep;

private Button next_botton;

private Button login_botton;

private Bitmap showVerifation;

private boolean flag;

// http://jwxt.jmpt.cn:8125/JspHelloWorld/authImg 另一个验证码地址

// http://jwxt.jmpt.cn:8125/JspHelloWorld/authImg?now=Wed%20Jun%2001%202016%2022:42:07%20GMT+0800%20(%E4%B8%AD%E5%9B%BD%E6%A0%87%E5%87%86%E6%97%B6%E9%97%B4

// 另一个验证码地址

String VERIFATIONURL = "http://jwxt.jmpt.cn:8125/JspHelloWorld/authImg?now=Wed%20Jun%2001%202016%2022:42:07%20GMT+0800%20(%E4%B8%AD%E5%9B%BD%E6%A0%87%E5%87%86%E6%97%B6%E9%97%B4";// 验证码地址

String LOGINURL = "http://jwxt.jmpt.cn:8125/JspHelloWorld/login.jsp";// 登录页面

String MAINBODYHTML = "";// 获得个人主界面的HTML

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

user_id = (EditText) findViewById(R.id.user_id);

password = (EditText) findViewById(R.id.password);

validate = (EditText) findViewById(R.id.validate);

login_botton = (Button) findViewById(R.id.login_botton);

next_botton = (Button) findViewById(R.id.next_botton);

keep = (CheckBox) findViewById(R.id.keep);

photo = (ImageView) findViewById(R.id.photo);

login_botton.setOnClickListener(onClickListener);// 将EditText里的信息提交按钮

next_botton.setOnClickListener(onClickListener);// 刷选验证码按钮

//initView();

}

View.OnClickListener onClickListener = new View.OnClickListener() {

private boolean flase;

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.login_botton:

if (equals()) {

String user_id1 = (String) user_id.getEditableText()

.toString();

String password1 = (String) password.getEditableText()

.toString();

String validate1 = (String) validate.getEditableText()

.toString();

DoLogin(user_id1, password1, validate1);

// Intent intent = new Intent(MainActivity.this,login_fault.class);

// startActivity(intent);

}

break;

case R.id.next_botton:

DoGetVerifation();

break;

}

}

private boolean equals() {

// TODO Auto-generated method stub

if (user_id.getEditableText().toString().equals("")) {

Toast.makeText(MainActivity.this, "用户名不能为空", Toast.LENGTH_SHORT)

.show();

flag = flase;

} else if (password.getEditableText().toString().equals("")) {

Toast.makeText(MainActivity.this, "密码不能为空", Toast.LENGTH_SHORT)

.show();

flag = flase;

} else if (validate.getEditableText().toString().equals("")) {

Toast.makeText(MainActivity.this, "验证码不能为空", Toast.LENGTH_SHORT)

.show();

flag = flase;

} else {

flag = true;

}

return flag;

}

private void DoLogin(final String user_id1, final String password1,

final String validate1) {

// TODO Auto-generated method stub

new Thread(new Runnable() {

@Override

public void run() {

DefaultHttpClient httpClient = new DefaultHttpClient();

HttpResponse httpResponse;

HttpPost httpRequest = new HttpPost(LOGINURL);

// 设置post参数

List params = new ArrayList();

params.add(new BasicNameValuePair("actionId", "login"));

params.add(new BasicNameValuePair("actionmi", "m10"));

params.add(new BasicNameValuePair("osname", "Win7,?豸:pc"));

params.add(new BasicNameValuePair("pageId", "000101"));

params.add(new BasicNameValuePair("Yhm", "ѧ  ?ţ?"));

params.add(new BasicNameValuePair("radiobutton", "student"));

params.add(new BasicNameValuePair("password", password1));

params.add(new BasicNameValuePair("validate", validate1));

params.add(new BasicNameValuePair("username", user_id1));

httpRequest.setHeader("COOKIE",

"JSESSIONID=44983DD250A48E966B95381E2C472C29");

httpRequest.setHeader("Host", "jwxt.jmpt.cn:8125");

httpRequest.setHeader("Referer",

"http://jwxt.jmpt.cn:8125/JspHelloWorld/login.jsp");

httpRequest

.setHeader(

"User-Agent",

"Mozilla/5.0 (MSIE 9.0; Windows NT 6.1; WOW64; Trident/7.0; BOIE9;ZHCN; rv:11.0) like Gecko");

try {

// 发出HTTP request

httpRequest.setEntity(new UrlEncodedFormEntity(params,

"GBK"));

// 取得HTTP response

httpResponse = httpClient.execute(httpRequest); // 执行

// 若状态码为200 ok

if (httpResponse.getStatusLine().getStatusCode() == 200) { // 返回值正常

HttpEntity entity=httpResponse.getEntity();

String response=EntityUtils.toString(entity,"GBK");

Message message=new Message();

message.what=SHOW_RESPONSE;

message.obj=response.toString();

Handler handler=new Handler(){

public void handleMessage (Message msg){

switch(msg.what){

case SHOW_RESPONSE:

String response=(String)msg.obj;

Intent intent = new Intent(MainActivity.this,login_success.class);

startActivity(intent);

}

}

};

handler.sendMessage(message);

} else {

//Toast.makeText(MainActivity.this,"dsadsa",Toast.LENGTH_SHORT).show();

Intent intent = new Intent(MainActivity.this,login_fault.class);

startActivity(intent);

}

} catch (Exception e) {

e.printStackTrace();

}

}

}).start();

}

private void DoGetVerifation() {

// TODO Auto-generated method stub

final Handler handler = new Handler() {

@SuppressWarnings("deprecation")

public void handleMessage(android.os.Message msg) {

if (msg.arg1 == 1) {

Bitmap bitmap = (Bitmap) msg.obj;

Drawable pic = new BitmapDrawable(bitmap);

// loginpic.setImageBitmap(bitmap);

photo.setBackgroundDrawable(pic);

}

};

};

final String urlString = "http://jwxt.jmpt.cn:8125/JspHelloWorld/authImg?now=Wed%20Jun%2001%202016%2022:42:07%20GMT+0800%20(%E4%B8%AD%E5%9B%BD%E6%A0%87%E5%87%86%E6%97%B6%E9%97%B4";

new Thread() {

public void run() {

Message message = handler.obtainMessage();

message.obj = HttpBitmap.getHttpBitmap(urlString);

message.arg1 = 1;

handler.sendMessage(message);

};

}.start();

}

};

}

点击登录按钮的话logcat只有这些信息

对了,COOKIE的值不变,我也不知道为什么,反正用httpwatch查看的都是这个值

相关阅读:

markdown使用咨询

bootstrap按钮式下拉菜单如何和按钮一样宽度?

https://baidu.com/?ref=muzli这种/?ref=muzli是怎么做的,有什么含义?

查看git push 默认的远程分支名用什么命令?

mvc中的模型的疑问

PHP 无法删除COOKIE

如何转码微信多媒体下载接口的音频文件?

请教如何获取fastcgi缓存的key

如何用js实现字典?

query each() 如何操作后添加的DOM元素?

手机QQ聊天窗口显示有红包,点开却是文字

ios sdk 上传到95%就停止了

C#如何修改已经在控制台输出的数据?

哪些开源软件提供热更新,请简要描述下其更新策略。有哪些方案是你认为好的更新策略(不局限于热更新)

各位大神mogenerator not found……何解?

Sublime text有没有会话管理的插件?

如何实现在页面上所有内容加载完之前一直显示loading...页面?

JS 追加 HTML 的问题

php在一个请求中,发送另一个请求

为什么Long.parseLong最多只能转换19位数字,Long最大不是64位么?



推荐阅读
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • Monkey《大话移动——Android与iOS应用测试指南》的预购信息发布啦!
    Monkey《大话移动——Android与iOS应用测试指南》的预购信息已经发布,可以在京东和当当网进行预购。感谢几位大牛给出的书评,并呼吁大家的支持。明天京东的链接也将发布。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
author-avatar
飞鱼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有