📄 00000006.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: dfbb (赵无忌), 信区: Linux <BR>标 题: 自动发文的expect程序 <BR>发信站: BBS 水木清华站 (Fri May 1 20:31:01 1998) <BR> <BR> 这篇文章是用expect 自动发 的 <BR> expect需要tcl/tk <BR> REDHAT中有这个软件 <BR> 是一个用来做交互式程序的脚本语言 <BR> 用它来打mud也很酷的 <BR> 下面是我的bbs post 程序 <BR> 不太完善,用法:首先输好自己的USERNAME& PASSWD <BR> then chmod a+x bbs <BR> bbs 文件 版名 标题 <BR> 用expect可以去bbs自动取文章 <BR> 在聊天室里录音 <BR> 象人一样聊天 use send_human <BR> <BR> ------------------Cut from here ------------------- <BR> <BR> #!/usr/bin/expect -- <BR> set CTRLA \001 <BR> set CTRLC \037 <BR> set CTRLZ \032 <BR> set CTRLK \013 <BR> set CTRLO \017 <BR> set CTRLP \020 <BR> set CTRLX \028 <BR> set postbuffer "" <BR> set POSTFILE "./postfile" <BR> set TITLE "POST BY EXPECT" <BR> set BOARD "test" <BR> set USERNAME "guest" <BR> set PASSWORD "password" <BR> set debug_flag 1 <BR> <BR> if $argc==0 { <BR> send_user "Too few argument\nUSAGE:\n\tbbs POST_FILE_NAME BOARD TITLE\n\n" <BR> exit <BR> } <BR> <BR> if $argc==1 { <BR> send_user "Too few argument\nUSAGE:\n\tbbs POST_FILE_NAME BOARD TITLE\n\n" <BR> exit <BR> } <BR> <BR> if $argc==2 { <BR> send_user "Too few argument\nUSAGE:\n\tbbs POST_FILE_NAME BOARD TITLE\n\n" <BR> exit <BR> } <BR> <BR> if $argc>3 { <BR> send_user "Too many argument\nUSAGE:\n\tbbs POST_FILE_N BOARD TITLE\n\n" <BR> exit <BR> } <BR> <BR> set POSTFILE [lindex $argv 0] <BR> set BOARD [lindex $argv 1] <BR> set TITLE [lindex $argv 2] <BR> <BR> if [file exists $POSTFILE] { <BR> send_user "Start autoposting file..." <BR> } else { <BR> send_user "Not find file $POSTFILE !!!\n" <BR> exit <BR> } <BR> <BR> proc readfile {} { <BR> global POSTFILE postbuffer <BR> <BR> if [catch {open $POSTFILE} fp] return <BR> say "reading post file" <BR> set line 0 <BR> while {[gets $fp postbuffer]!=-1} { <BR> send " $postbuffer\r" <BR> incr line <BR> } <BR> close $fp <BR> say "I have success posted $line line " <BR> } <BR> <BR> proc say {msg} { <BR> global debug_flag <BR> <BR> if !$debug_flag return <BR> <BR> if [catch {puts "parent: $msg"}] { <BR> send_log "child: $msg\n" <BR> } <BR> } <BR> <BR> spawn /usr/bin/telnet 202.112.58.200 <BR> expect "login" <BR> send "bbs\r" <BR> sleep 1 <BR> expect "new'):" <BR> send "$USERNAME\r" <BR> sleep 1 <BR> expect "请输入密码:" <BR> send "$PASSWORD\rq\r\reqqb\r\/$BOARD\r\r" <BR> sleep 1 <BR> expect "刊 登 者" <BR> send "$CTRLP" <BR> expect "标题:" <BR> send "$TITLE\r" <BR> expect "设定:" <BR> send "\r" <BR> expect "时间" <BR> readfile <BR> sleep 24 <BR> expect "Ctrl-Z" <BR> send "$CTRLX" <BR> sleep 1 <BR> expect "编辑" <BR> send "\r" <BR> sleep 1 <BR> expect "转信" <BR> sleep 1 <BR> send "\r\r" <BR> sleep 1 <BR> send "eeg\r\r\r" <BR> sleep 1 <BR> send "exit\r" <BR> sleep 1 <BR> close <BR> send_user "\r\r\r\rPosting file completed.\r\r\r" <BR> <BR> <BR> <BR>-- <BR>※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 159.226.41.99] <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -