通过Android应用程序登录https网站
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了通过Android应用程序登录https网站,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2517字,纯文字阅读大概需要4分钟。
内容图文
![通过Android应用程序登录https网站](/upload/InfoBanner/zyjiaocheng/702/26a6a6059383439da5c1b5f7744612ad.jpg)
首先,我很擅长这个.我是Android,asp,javascript,甚至是http的新手.
我正在尝试构建一个Android应用程序,允许我登录我学校的网站并从中提取数据,最终我希望做一些事情,比如将我的时间表数据插入到Android的日历条目中.但是我登录时遇到了麻烦.
这是网站:
https://sso.wis.ntu.edu.sg/webexe88/owa/sso_login2.asp
我目前正在做的是对上述URL进行http POST,我希望将其重定向到hhttps://wish.wis.ntu.edu.sg/pls/webexe/aus_stars_check.check_subject_web2,它将显示我的时间表.
到目前为止,在查看网页的来源并在互联网上搜索相当多后,我的代码如下:
private void start_login(String[] array) {
// TODO Auto-generated method stub
Toast.makeText(this, "Logging in...", Toast.LENGTH_LONG).show();
WebView wv = new WebView(this);
this.setContentView(wv);
try {
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(4);
nameValuePairs.add(new BasicNameValuePair("UserName", <my username here>));
nameValuePairs.add(new BasicNameValuePair("PIN", <my password here>));
nameValuePairs.add(new BasicNameValuePair("Domain", "STUDENT"));
nameValuePairs.add(new BasicNameValuePair("p2", "https://wish.wis.ntu.edu.sg/pls/webexe/aus_stars_check.check_subject_web2"));
wv.loadData(CustomHttpClient.executeHttpPost(URL, nameValuePairs), "text/html", "utf-8");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}// end start_login
这是登录功能.
我正在使用的CustomHttpClient是由于这个人:http://www.newtondev.com/2010/07/27/making-http-requests-using-google-android/
到目前为止,我没有得到任何结果.我究竟做错了什么?我错过了ArrayList中的值,还是我的URL错了?
解决方法:
下面的代码处理https并为https url提供httpsclient ..您需要httpsclient向https网址发出请求.
可能在代码下方对您有所帮助:
public DefaultHttpClient getClient()
{
DefaultHttpClient ret = null;
//sets up parameters
HttpParams params = new BasicHttpParams();
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, "utf-8");
params.setBooleanParameter("http.protocol.expect-continue", false);
//registers schemes for both http and https
SchemeRegistry registry = new SchemeRegistry();
registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
final SSLSocketFactory sslSocketFactory = SSLSocketFactory.getSocketFactory();
sslSocketFactory.setHostnameVerifier(SSLSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
registry.register(new Scheme("https", sslSocketFactory, 443));
ThreadSafeClientConnManager manager = new ThreadSafeClientConnManager(params, registry);
ret = new DefaultHttpClient(manager, params);
return ret;
}
内容总结
以上是互联网集市为您收集整理的通过Android应用程序登录https网站全部内容,希望文章能够帮你解决通过Android应用程序登录https网站所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。