Android 怎么向打开的网页中自动填充破解网页用户名和密码码

2016年8月 移动开发大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。现有一需求,要求从两个文本框输入用户名和密码,点击登录后自动登录某网站。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:242次
排名:千里之外
原创:17篇> 打开网页并自动输入用户名和密码自动登录的一个问题下面是模块中的代码,登录的地址是单位内部的一个网页
打开网页并自动输入用户名和密码自动登录的一个问题下面是模块中的代码,登录的地址是单位内部的一个网页
murpny1010 & &
发布时间: & &
浏览:1 & &
回复:0 & &
悬赏:0.0希赛币
打开网页并自动输入用户名和密码自动登录的一个问题
下面是模块中的代码,登录的地址是单位内部的一个网页
  Public&Const&JiLiangGuanLiXiTong&=&""
Function&OpenJiLiangXiTong(name&As&String,&mima&As&String)&As&String&&'自动登录子程序
&&&&Dim&vDoc,&vTag
&&&&Dim&i&As&Integer
&&&&Dim&browser&As&Object,&timeie&As&Date
&&&&Set&browser&=&CreateObject("InternetExplorer.application")
&&&&browser.Visible&=&True
&&&&browser.Navigate&(JiLiangGuanLiXiTong)&&&&
&&&&timeie&=&DateAdd("s",&60,&Now())&'等待60s
&&&&Do&While&browser.Busy&And&Not&browser.ReadyState&=&False
&&&&&&&&DoEvents&&&
&&&&&&&&If&timeie&$<$Now()&Then
&&&&&&&&&&&&MsgBox&"网络不通!",&vbInformation,&"网络不通"
&&&&&&&&&&&&browser.Quit
&&&&&&&&&&&&Exit&Function
&&&&&&&&End&If
&&&&Set&vDoc&=&browser.Document
&&&&For&i&=&0&To&vDoc.All.Length&-&1
&&&&&&&&If&UCase(vDoc.All(i).tagName)&=&"INPUT"&Then
&&&&&&&&&&&&Set&vTag&=&vDoc.All(i)
&&&&&&&&&&&&If&vTag.Type&=&"text"&Or&vTag.Type&=&"password"&Then
&&&&&&&&&&&&&&&&Select&Case&vTag.name
&&&&&&&&&&&&&&&&&&&&Case&"Username"
&&&&&&&&&&&&&&&&&&&&&&&&vTag.Value&=&name
&&&&&&&&&&&&&&&&&&&&Case&"Password"
&&&&&&&&&&&&&&&&&&&&&&&&vTag.Value&=&mima
&&&&&&&&&&&&&&&&End&Select
&&&&&&&&&&&&ElseIf&vTag.Type&=&"image"&Then
&&&&&&&&&&&&&&&&vTag.Select
&&&&&&&&&&&&&&&&vTag.Click
&&&&&&&&&&&&End&If
&&&&&&&&End&If
&&&&Next&i
End&Function
大多情况下程序没有问题,低概率会出现如下问题,尤其出现在连续登陆的时候。
1. 不自动登陆,网页上填写用户名和密码的地方空白;(此时程序没有任何其他反应)
2. 提示:运行时错误‘70’:拒绝的权限;(此时登陆成功,但程序崩溃了)
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&浏览网页时如何自动输入账号密码即表单的自动填写_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:523,626贴子:
浏览网页时如何自动输入账号密码即表单的自动填写收藏
跪求高手。。。。。事情是这样的,我用的是大学的校园网,每天上线都得先打开网页,输入学号密码,再打开客户端登陆。。。。。麻烦死。。。有没有大侠能用c\c++帮我编一个程序?大概功能就是开机自动打开网页,输入学号密码,自动打开客户端登陆。。。打开客户端登陆我想了个办法。。。。就是先打开这个程序。。。再自动输入登陆的快捷键(好像是e。。)。。。总之。。求高手指点。。感激不尽。。。我是华东理工大学的。。。。我们学生普遍感觉很麻烦。。。如果哪位大神成功了。。。。我将把他的程序发到论坛上去。。。大家共享。。并注明作者。。。。必将名垂千古啊。。。。我是自动化的。。今年刚学c语言。。。。是新手。。。。。。
c语言海同强大的师资阵容,因人制定课程内容,分阶段学习.c语言就到正规IT技术培训机构-海同科技,培训IT技术面对面教学,免费重读!
- -~汗`.读取网页源代码.关键查找input部分`~把用户名和密码加至源码中保存.建立批处理`~启动后自动打开网页`.接下来.你所需要做的就是按一下提交就好了`~至于自动提交的问题`.由于我是刚学ASP..所以还是解决不了.sorry~
拜托写出来吧~~~~~~~~~~~
如果是IE这个简单,先得到窗口的IWebBrowser2指针,从IWebBrowser2得到IHTMLDocument2指针,QueryInterface得到IHTMLElementCollection这样就可以遍历所有item了,找到IHTMLInputElement后put_value然后直接submit就好了,流程简单,编码也不麻烦,就是COM来COM去看的不太爽,字串也只能用BSTR
先观测源代码中form的method是get还是post.如果是get的话直接response.redirect就行了
是ie。。。。术语太深奥。。。不明白。。。求人写出来。。。。
建议乃读网页源码之后直接填好参数(注意GET和POST)然后手工组织一个包发过去……port 80不行就tcpdump一下观察
在吗,这个问题我想问问你。我使用put_value后,只是把原来的值给清空了,而新值并没有赋值上去。我的QQ ,希望你能帮帮我。
哈哈,这个应该比较简单,我写过公司的自动签到脚本。。。peil语言,200行左右搞定。思路其实很简单:模拟浏览器发包。他需要什么数据给他发过去。但是你要搞定这个事情需要学习至少一门语言工具,(c语言做这个事很麻烦),推荐用脚本语言(比如bat)学习了解tcp等协议,一个抓包网络包的工具用来观察通信。另外推荐一个简单办法,就是用按键精灵,来作,模拟操作。也可以获取窗口句柄的哦
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或[转载]Android之自动填充用户名,密码
在做Android应用时,常常会需要保存用户的登录信息,以便下次登录时,用户只需要输入用户名前几个字面,
就能够自动填充,我们可以使用android的preference来实现,关于preference的介绍查阅网上,下面先上一张简单的效果图:
第一步:在onCreate()中加入
ArrayAdapter&String& adapter = new ArrayAdapter&String&(this,
android.R.layout.simple_dropdown_item_1line, usernames);
usernameText.setAdapter(adapter);
usernameText.setOnItemClickListener(this);//列表选定事件,加载养殖场编号,用户密码和是否记住
第二步:获取已经保存的历史用户信息
private List&UserInfo&
getUserInfo(){
&#160;&#160;&#160;
SharedPreferences settings =
this.getPreferences(Activity.MODE_PRIVATE);
&#160;&#160;&#160; String
userInfos =
settings.getString(&PREF_USERINFO&,
&#160;&#160;&#160; if(userInfos
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
List&UserInfo& list = new
ArrayList&UserInfo&();//用于保存用户列表信息&#160;&#160;&#160;&#160;&#160;&#160;&#160;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
if(userInfos.contains(&,&)){
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
String[] users =
userInfos.split(&,&);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
for(String str : users){
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
UserInfo u = new UserInfo();
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
String[] user =
str.split(&/&);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
u.setName(user[0]);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
u.setPassword(user[1]);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
u.setFarmid(user[2]);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
u.setRemember(Boolean.parseBoolean(user[3]));
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
usernames.add(user[0]);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
list.add(u);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
UserInfo u = new UserInfo();
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
String[] user =
userInfos.split(&/&);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
u.setName(user[0]);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
u.setPassword(user[1]);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
u.setFarmid(user[2]);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
u.setRemember(Boolean.parseBoolean(user[3]));
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
usernames.add(user[0]);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
list.add(u);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
&#160;&#160;&#160; }else
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
return new
ArrayList&UserInfo&();
&#160;&#160;&#160; }
第三步:保存新用户信息
private void saveUserInfo(){
&#160;&#160;&#160;
checkUser();//检查是否已存在相同用户信息
&#160;&#160;&#160;
SharedPreferences settings =
this.getPreferences(Activity.MODE_PRIVATE);
&#160;&#160;&#160; String
userinfosString = &&;
&#160;&#160;&#160; for(UserInfo
userInfoList){//最终历史用户的信息都保存在userInfoList中&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
String unameString =
user.getName();&#160;&#160;&#160;&#160;&#160;&#160;&#160;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
String passwordString = user.getPassword();
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
String famidString = user.getFarmid();
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
String userInfo = unameString +
&/& + passwordString +
&/& + famidS
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
if(user.isRemember()){
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
userInfo += &/true&;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
userInfo += &/false&;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
if(userinfosString == &&){
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
userinfosString = userI
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
userinfosString += &,& +
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
&#160;&#160;&#160; }
&#160;&#160;&#160; Editor
editor = settings.edit();//编辑器记录
&#160;&#160;&#160;
editor.putString(&PREF_USERINFO&,
userinfosString);
&#160;&#160;&#160;
mit();//编辑器提交保存
第四步:检查历史记录中是否已有该用户的历史信息方法
private void checkUser(){
&#160;&#160;&#160; int position
= 0, flag = 0;
&#160;&#160;&#160;
if(userInfoList.size() & 0){
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
for(int i = 0; i & userInfoList.size(); i ++){
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
if(userInfoList.get(i).getName().equals(usernameString)){
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
position =
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
&#160;&#160;&#160; }
&#160;&#160;&#160; UserInfo u =
new UserInfo();
&#160;&#160;&#160;
u.setName(usernameString);
&#160;&#160;&#160;
u.setPassword(passwordString);
&#160;&#160;&#160;
u.setFarmid(farmString);
&#160;&#160;&#160;
u.setRemember(isChecked);
&#160;&#160;&#160; if(flag ==
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
userInfoList.remove(position);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
userInfoList.add(position, u);
&#160;&#160;&#160; }else
&#160;&#160;&#160;&#160;&#160;&#160;&#160;
userInfoList.add(u);
&#160;&#160;&#160;
}&#160;&#160;&#160;&#160;&#160;&#160;&#160;
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 破解网页用户名和密码 的文章

 

随机推荐