自动上网的机器人(网络编程,很有借鉴意义)C
4页1、作者:meteoremail: 日期:8/22/2001 3:37:12 PM第三部分 自动拨号、自动挂断以及自动处理中途掉线 一个出色的“自动上网机器人”程序应能按照既定的时间准时开始拨号、并当所需任务已完成后立即挂断。而且仅做到这些还不够,它还应在发出拨号指令后跟踪拨号操作是否真的成功、上网速度如何、是否需要挂断后重新拨号、自动浏览过程中是否出现掉线、以及最终的挂断操作是否真的成功完成,等等。 因此,“机器人”程序应定时检查在线状况,以保证浏览时一定在在线状态、浏览完毕后一定不在在线状态。同时还要检查浏览进度,当浏览速度过慢时尝试挂断后重新拨号。 本部分讨论了实现“自动拨号”、“检查在线状况”、以及“自动挂断”这三个功能的若干方法,比较了诸方法各自的优劣,并总结给出了使用建议。本部分的示例程序将这三个功能的诸方法集成在一起,以便于大家对比使用(见下图)。 1. 自动拨号 方法1A:使用rnaui.dll rnaui.dll是微软的“拨号网络用户接口”程序集,一般在“WindowsSystem”目录下。其中的RnaDial程序用于启动拨号。该程序可在命令行执行(在“开始”-“运行”中
2、键入): rundll32.exe rnaui.dll,RnaDial 其中的“RnaDial”和“”是区分大小写的。 但由于上述命令仅启动拨号窗口而未立即开始拨号,因此在程序中使用时还应再送出模拟“回车”的按键:ret = Shell(rundll32.exe rnaui.dll,RnaDial + 连接名, 1) SendKeys enter, True 方法1B:使用wininet.dll wininet.dll是微软的Internet扩充函数集,一般在“WindowsSystem”目录下。其中的InternetAutodial、InternetAutodialHangup和InternetGetConnectedState三个函数分别可完成自动拨号、自动挂断和判断在线状态等任务。InternetAutodial的定义为:Private Declare Function InternetAutodial Lib wininet.dll _ (ByValdwFlags As Long, ByValdwReserved As Long) As Long 若将第一个参数(dwFlags
3、)的值设为2,该函数无需用户干预就可自动拨号。但使用该函数有一个前提:即必须将“Internet 属性”-“连接”设成“始终拨打默认连接”(见下图)。 用InternetAutodial函数自动拨号的情况可参见下图。从图中可以看出,该方法可自动重试多次。具体的重试次数在默认连接的“设置”-“高级”中定义: 方法1C:使用RAS RAS 是微软的远程访问服务(Remote Access Service)API集合。其中的 API函数RasDial可完成拨号任务。但由于该函数在使用上略显复杂而不太常用,故示例程序中未采纳。 自动拨号方法小结:rnaui方法使用起来最简单,又由于它不一定非要使用默认连接,因此也最灵活。但这种灵活恰恰又给它带来了弱点,即如果不提供连接名,该方法不会自动调用默认连接。此外,这种方法还有两个最大的缺点:一是仅拨号一次,若出现占线或没有响应等情况时不会自动重试;二是调用程序不容易得到拨号是否成功的返回值。相比之下,wininet方法虽仅能拨打默认连接(无默认连接时,使用第一个连接),但它可多次试拨,并且InternetAutodial函数等待拨号成功或所有试拨结束以
4、便给调用程序返回拨号是否成功的值,因此,在“自动上网机器人”的环境中wininet方法是最适宜的。2. 检查在线状况 方法2A:wininet方法 若InternetGetConnectedState函数返回True,则为在线状态。该方法最大的缺点是:若当前连接不是用wininet方法建立的,则返回值可能不准确。 方法2B:查找窗口法 拨号连接成功后,下图所示的窗口一定存在(不管它是最小化在任务栏的最右端,或是开启为下图所示的状态): 用FindWindow API函数找到该窗口即意味着当前在线。此外,查找窗口法的另一个用处是查找“重新连接”窗口:当中途掉线时,操作系统往往会询问你是否重新连接,找到该窗口并发出模拟“回车”按键即可实现再拨号。 查找窗口法的缺点是:由于找窗口时需要提供窗口标题,因此即使使用的是默认连接也必须事先知道默认连接名。 方法2C:RAS 方法 先用RasEnumConnections函数返回整个RAS集合,再用RasGetConnectStatus函数判断第一个 RAS连接的状态。RAS方法的最大优点是:不管当前连接是否是用wininet建立的,RAS 方法均可
《自动上网的机器人(网络编程,很有借鉴意义)C》由会员汽***分享,可在线阅读,更多相关《自动上网的机器人(网络编程,很有借鉴意义)C》请在金锄头文库上搜索。
混凝土浇筑施工方案4#
志愿者帮扶特困家庭活动感想
某公司员工福利组织规章与办法
路政宣传月活动总结
转正的述职报告模板五篇
导学案集体备课活页(成反比例的量)
新人教版5五年级数学下册全册教案含教学反思
物探制图授课教案:第九次课 Grapher应用(一)
专业硕士实践报告总结
曹禺雷雨读书心得
关键元器件和材料定期确认检验控制程序文件
客服转正自我鉴定模板9篇
新乡碳纤维原丝项目建议书模板范本
行政法与行政诉讼法教程》简答题、论述题参考答案
儿子给高尔基的回信作文
整理版高中英语课时作业二十四必修4Unit12CultureShock第2课时
股东股份转让协议
手绘表现技法教案
实用的班主任工作计划(四篇).doc
小说《老人与海》读书笔记.doc
2023-01-04 3页
2023-01-17 11页
2022-11-29 4页
2022-12-27 16页
2022-10-15 3页
2022-08-30 9页
2022-10-10 9页
2023-01-14 54页
2022-12-08 28页
2022-11-18 19页