CU 目前看來因為 mail 問題,所以都沒有辨法送出主題回復通知(也可以看成有,但你沒有收到也不一定,我就沒有收到),
不知有人可否以 shell 角度解決這個狀況(從遠端去查 [所有帖子])
shell 派的,可以想想哦
lych 回复于:2005-07-06 17:19:15
这个问题你去找斑竹解决!
abel 回复于:2005-07-06 17:26:33
引用:原帖由 "lych"]这个问题你去找斑竹解决! 发表:
我不是有問題,更何況我自己巳經解決,我的目的是看看大家有什麼想法
網中人 回复于:2005-07-07 00:16:01
呵... abel 不是來"問"大家, 是來"考"大家啦... ^_^
platinum 回复于:2005-07-07 00:22:59
abel 兄说 CU 的 mail 有问题,是说站内短信的回复通过 mail 通知到自己的邮箱里吗?
abel 回复于:2005-07-07 09:53:08
引用:原帖由 "platinum"]abel 兄说 CU 的 mail 有问题,是说站内短信的回复通过 mail 通知到自己的邮箱里吗? 发表:
我不知道 CU 的 mail 目前是如何,但可以肯定的是
我收不到 "主題回覆通知" , 至於站內信問題我沒有注意,因為我自己的站
內信巳經 100% 了(故意不刪),所以很久沒有收到這個了notify
是每個人都這樣嗎 ? 我猜應該是吧, 但無法肯定
waker 回复于:2005-07-07 09:56:35
可能是关闭了这个功能,系统开销的考虑吧?
abel 回复于:2005-07-07 14:11:32
引用:原帖由 "waker"]可能是关闭了这个功能,系统开销的考虑吧? 发表:
是不是這樣我們不清楚,本帖主要是想 shell 派 CUer, 可以想想,
如何透過你機器上的 shell , 取得主題巳經被回覆的狀態了,
好讓你知道,如同"主題回覆通知" 的功能
當然,最簡單的莫不過你記下來每篇你發表的文章的代號(viewtopic.php...t=N) , 然後定時求取這個 topic 是否被回覆了
裏面考量的因素相當多
註: 要完善這個功能,很顯然的,一定要夠了解 HTTP Protocol , 才知道
如何用 shell 和 bbs.chinaunix.net 溝通
waker 回复于:2005-07-07 14:21:47
呵呵,不太明白
是想在web-server上通知CUer
还是想在client检索自己的帖子有没被回复?
abel 回复于:2005-07-07 15:03:08
引用:原帖由 "waker" 发表: 呵呵,不太明白
是想在web-server上通知CUer
还是想在client检索自己的帖子有没被回复?
當然是在 shell 中 (即您指的 clinet) 中, search CU 上您的帖子
是否被回覆了,若是,則寄出一封主題回覆通知給自己,如此而以
waker 回复于:2005-07-07 15:16:04
wget 取回结果
通过awk 判断如果作者是自己而最后回复不是
发个mail
wolfg 回复于:2005-07-07 15:17:58
关注
abel 回复于:2005-07-07 15:24:01
引用:原帖由 "waker" 发表: wget 取回结果
通过awk 判断如果作者是自己而最后回复不是
发个mail
實作呢 ?
是否如您想像如此簡單 ?
三個月前的 post 您也要 wget ? 像您發表千篇以上的文章, wget 肯定太多
且難管理
platinum 回复于:2005-07-07 19:40:22
我明白需求了,就是要用 shell 实现一个类似 client 的东西,去 CU 只能抓取一些信息,这个做法有点类似一些抓站 script
但与之不同的是,要 post 过去自己的帐号密码,然后才能 get 有关自己帐号信息的数据,这之间就要清楚 HTTP protocol(包括 cookie 和 reference 等)一些东西了
abel 回复于:2005-07-07 19:54:07
引用:原帖由 "platinum" 发表: 我明白需求了,就是要用 shell 实现一个类似 client 的东西,去 CU 只能抓取一些信息,这个做法有点类似一些抓站 script
但与之不同的是,要 post 过去自己的帐号密码,然后才能 get 有关自己帐号信息的数据,这之..........
是的
不過這種東西我想沒有透徹研究的人,可能不好理解吧
怎麼用 shell post http 的資料
怎麼組出 Cookies , 再如何 遍歷自己的文記錄
最後再與上次的 遍歷 做比較,
得出有沒有回覆的結果
如此而以
waker 回复于:2005-07-07 20:14:16
我认为针对CU而言,根本不必登录和遍历所有贴子,因为可以直接访问每个版块的贴子列表,这个列表中本身就有发帖人/回复人/回复时间
所剩的工作是处理烦琐的数据:mrgreen:
abel 回复于:2005-07-07 20:22:20
引用:原帖由 "waker" 发表: 我认为针对CU而言,根本不必登录和遍历所有贴子,因为可以直接访问每个版块的贴子列表,这个列表中本身就有发帖人/回复人/回复时间
所剩的工作是处理烦琐的数据:mrgreen:
所以您需訪問 N 個版及 N 個頁面以確定是否有人回覆 ?
當然,如果這個 .sh 只 for 你自己,且你只到某幾個特定的版,或許可行,
但是,若發文及最後人都不是你,你是在中間的,那恐怕就很費事囉
waker 回复于:2005-07-07 20:33:02
如果发文人不是你,你按什么判定别人是回复你的贴子呢? AI?没研究过 :mrgreen:
http://www.chinaunix.net/cgi-bin/forum/myarticle.cgi?u=xxxxx
本来这个可以容易列出XX发的贴子列表,但它没有列出回复人是谁,很遗憾
abel 回复于:2005-07-07 20:39:31
引用:原帖由 "waker" 发表: 如果发文人不是你,你按什么判定别人是回复你的贴子呢? AI?没研究过 :mrgreen:
http://www.chinaunix.net/cgi-bin/forum/myarticle.cgi?u=xxxxx
本来这个可以容易列出XX发的贴子列表,但它没有列出回复人是..........
基本上應該有一個考量,就是這個題目的意思是如同以前 CU 的主題回覆通知一般
以您的狀況來說,我想信您應該很清楚的記得,只要你在任一篇文中有發這過,
那有人再回覆,你就會有通知,不是嗎 ?
至於您說的 myarticle 也只是您是"樓主"的狀況下,
不是嗎 ? 如果你是"中間人",那你跟本就不知道有沒有人回了
abel 回复于:2005-07-07 21:43:28
#!/bin/sh
# 帳號/密碼
id="你的帳號"
pd="你的密碼"
# 密碼的 md5 編碼,在 Cookie 中要用到,若使用系的md5sum指令,編碼出來結果與 CU 不同
pd_md5=`echo "select md5('$pd')" | mysql | grep -v 'md5'`
forum_host="bbs.chinaunix.net"
email="你的 Email"
# 取得 session id (sid)
# phpbb2mysql_data 為 CU 的 Cookie Name
# 這是第一次連線,所以要去 Touch 一下 CU
# Cookie 該段的 decode 結果為 s:0:""; ,意即一開始我們]有 Cookie 的預設值
sid=$(cat << EOF | nc $forum_host 80 | grep -E 'href=.*sid'| head -1 | sed -e 's/.*index.php?sid=\(.*\)" class="nav".*/\1/g'
GET /forum/login.php
Host: $forum_host
User-Agent: nc
Accept: text/xml,application/xml,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: zh-tw,zh-cn;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: Big5,utf-8;q=0.7,*;q=0.7
Keep-Alive: 100
Connection: keep-alive
Referer: http://$forum_host/forum/login.php
Cookie: phpbb2mysql_data=s%3A0%3A%22%22%3B; phpbb2mysql_sid=
EOF)
# 預計要送出的 POST DATA ( CU 的 login 是 POST,data 的長度要計算)
post_data="username=$id&password=$pd&autologin=on&login=%B5%C7%C2%BD&sid=$sid&redirect=%3F"
# 計算 POST DATA 的 Content-Length
length=${#post_data}
# 送出 POST DATA , 並取得 CU Apache 回應的 Set-Cookie 資訊,將 Cookie Name=Value
# 的結構轉成 Sell 的變量
cookie_name=$(cat << EOF | nc $forum_host 80 | grep -E 'Set-Cookie: '| sed -e 's/Set-Cookie: //g'| tr ';' '\n' | sed -e 's/\(.*\)=\(.*\)/\1="\2";/g'
POST /forum/login.php HTTP/1.1
Host: $forum_host
User-Agent: NC
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: zh-tw,zh-cn;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: Big5,utf-8;q=0.7,*;q=0.7
Keep-Alive: 100
Connection: keep-alive
Referer: http://$forum_host/forum/login.php?redirect=&sid=$sid
Cookie: phpbb2mysql_data=s%3A0%3A%22%22%3B; phpbb2mysql_sid=$sid
Content-Type: application/x-www-form-urlencoded
Content-Length: $length
$post_data
EOF)
# 執行 Cookie Name=Value 的結果
eval $cookie_name
all_post_uri="/cgi-bin/forum/search.cgi?mode=all_author&key=$id&u=$check_userid"
host="www.chinaunix.net"
file="/root/cu.html"
cookie="phpbb2mysql_data=a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A32%3A%22${pd_md5}%22%3Bs%3A6%3A%22userid%22%3Bs%3A5%3A%22${check_usedid}%22%3B%7D; phpbb2mysql_sid=$sid; check_username=$id; check_userid=$check_userid"
# 取得 [所有帖子] 數據, 要取得這個資料需要登入系統,不同於所[發表的文章]
cat << EOF | nc $host 80 > $file
GET $all_post_uri HTTP/1.1
Host: $host
User-Agent: NC
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: zh-tw,zh-cn;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: Big5,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://$forum_host/forum/profile.php?mode=viewprofile&u=$check_userid
Cookie: $cookie
Cache-Control: max-age=0
EOF
# 取得文章總數
total=`grep '坰善' $file | sed -e 's/.*坰善 \(.*\) 骸.*/\1/g'`
# 啟始
begin=0
# 暫存 文章的 topic_id 檔案,本處我個人不處理 post_id
art_list="/www/htdocs/log.twnic.net.tw/images/cu_list"
rm -f $art_list
# 將上一次結果轉存成舊檔,以用來比對
mv $art_list.sort ${art_list}.old
# 遍歷所發表過的所有文章,這個部份 CU 有分頁處理,所以我們亦要分頁處理
while [ $begin -le $total ]
do
per=`echo "$begin*100/$total" | bc`
echo -e "\b\b$per%\r"
cat << EOF | nc $host 80 > $file
GET $all_post_uri&begin=$begin HTTP/1.1
Host: $host
User-Agent: NC
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: zh-tw,zh-cn;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: Big5,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://$forum_host/forum/profile.php?mode=viewprofile&u=$check_userid
Cookie: $cookie
Cache-Control: max-age=0
EOF
grep "highlight=$id" $file | sed -e 's/.*viewtopic.php?t=\(.*\) target.*隙葩ㄩ\(.*\)<\/td><\/tr><tr><td width=10% align=center bgcolor=#ffffff>囀.*/\1:\2/g' | grep -E '^[0-9][0-9][0-9][0-9]' >>$art_list
begin=`expr $begin + 30`
done
# 將文章排序,並去除重覆的 topic_id
cat $art_list | sort -n -t':'| uniq > $art_list.sort
# 比較新舊的差別,並取得 topic_id
reply_list=`diff -uT $art_list.old $art_list.sort |sed -e '1,3d'| grep ^+| sed -e 's/+//g'|cut -f1 -d':'| sort | uniq`
for t in $reply_list
do
# 以下這一個 formail/sed 等,若您不需要可以拿掉,主要在寄送該網頁的整個內容,但是 link 有許多要{,
# 我]有全{,因為各種 link 實在太多,實難盡全{完
echo -e "GET /forum/viewtopic.php?t=$t HTTP/1.1\nHost: $forum_host\nCookie: $cookie\nReferer: http://$forum_host//forum/viewtopic.php?t=$t\n\n" \
| nc $forum_host 80 \
| sed -e '/^HTTP/,/^$/d' | sed '1,3d' \
| formail -I "Date: $(date)" \
-I "From: webmaster@bbs.chinaunix.net" \
-I "To: $email" \
-I "Subject: 主}回覆-帶本文" \
-I "MIME-Version: 1.0" \
-I "Content-Type: text/html; charset=\"gb2312\"" \
| sed -e "s/src=\/forum/src=http:\/\/$forum_host\/forum/g" \
| sed -e "s/href=\/forum/href=http:\/\/$forum_host\/forum/g" \
| sendmail -oi -t
# 主}回覆通知,只送 topic_id , 而不送 topic name 等資訊
echo "http://bbs.chinaunix.net/forum/viewtopic.php?t=$t" | mail -s "主}回覆通知" $email
done
以上是我的 Solution, 但我用 BIG5 , 所以 sed 指令中有些字你要自己轉成
GB2312,你才能正常 run , 有一定程度的人就知道怎麼轉
另外這個程式剛開始要跑兩次,第一次是建 index list, 後面就會根據變化
來送出主題回覆通知.
通知有兩種,一種是全文的通知,一種只有一個 link ,看您需要那一種囉
這種程式對 CU 的 Loading 難免會有影響(它模擬了 Broswer 的行為)
若單純用 wget + cookie file 也可以,不過 cookie 檔的格式,我就不公布
了.
看不懂沒有關係,只要 K 懂 RFC 2616 ,基本上就會懂了
platinum 回复于:2005-07-07 21:59:45
谢谢 abel 兄提供如此精彩的东西 :em03:
另外请教 abel 兄,RFC 1945 还要不要看?
abel 回复于:2005-07-07 22:15:19
引用:原帖由 "platinum" 发表: 谢谢 abel 兄提供如此精彩的东西 :em03:
另外请教 abel 兄,RFC 1945 还要不要看?
基本上 1945 講 HTTP/1.0 , 2616 講 HTTP/1.1
若要看似乎先讀 1945 再看 2616 為好,但是 2616 調整了 1945 內的一些東西,
(沒動的它還是有再說一次)所以,原則上是以讀 2616 為主
platinum 回复于:2005-07-07 22:27:13
多谢 abel 兄指点!
不过,说实话,看 RFC 真的是一件很头疼的事。。。 :em10:
abel 回复于:2005-07-07 23:55:41
#!/bin/sh
# 帳號/密碼
id="你的 ID"
pd="你的密碼"
# 密碼的 md5 編碼,在 Cookie 中要用到,若使用系的md5sum指令,編碼出來結果與 CU 不同
pd_md5=`echo "select md5('$pd')" | mysql | grep -v 'md5'`
forum_host="bbs.chinaunix.net"
email="abelyang@twnic.net.tw"
# 取得 session id (sid)
# phpbb2mysql_data 為 CU 的 Cookie Name
# 這是第一次連線,所以要去 Touch 一下 CU
# Cookie 該段的 decode 結果為 s:0:""; ,意即一開始我們沒有 Cookie 的預設值
sid=$(cat << EOF | nc $forum_host 80 | grep -E 'href=.*sid'| head -1 | sed -e 's/.*index.php?sid=\(.*\)" class="nav".*/\1/g'
GET /forum/login.php
Host: $forum_host
User-Agent: nc
Accept: text/xml,application/xml,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: zh-tw,zh-cn;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: Big5,utf-8;q=0.7,*;q=0.7
Keep-Alive: 100
Connection: keep-alive
Referer: http://$forum_host/forum/login.php
Cookie: phpbb2mysql_data=s%3A0%3A%22%22%3B; phpbb2mysql_sid=
EOF)
# 預計要送出的 POST DATA ( CU 的 login 是 POST,data 的長度要計算)
post_data="username=$id&password=$pd&autologin=on&login=%B5%C7%C2%BD&sid=$sid&redirect=%3F"
# 計算 POST DATA 的 Content-Length
length=${#post_data}
# 送出 POST DATA , 並取得 CU Apache 回應的 Set-Cookie 資訊,將 Cookie Name=Value
# 的結構轉成 Sell 的變量
cookie_name=$(cat << EOF | nc $forum_host 80 | grep -E 'Set-Cookie: '| sed -e 's/Set-Cookie: //g'| tr ';' '\n' | sed -e 's/\(.*\)=\(.*\)/\1="\2";/g'
POST /forum/login.php HTTP/1.1
Host: $forum_host
User-Agent: NC
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: zh-tw,zh-cn;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: Big5,utf-8;q=0.7,*;q=0.7
Keep-Alive: 100
Connection: keep-alive
Referer: http://$forum_host/forum/login.php?redirect=&sid=$sid
Cookie: phpbb2mysql_data=s%3A0%3A%22%22%3B; phpbb2mysql_sid=$sid
Content-Type: application/x-www-form-urlencoded
Content-Length: $length
$post_data
EOF)
# 執行 Cookie Name=Value 的結果
eval $cookie_name
all_post_uri="/cgi-bin/forum/search.cgi?mode=all_author&key=$id&u=$check_userid"
host="www.chinaunix.net"
file="/root/cu.html"
cookie="phpbb2mysql_data=a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A32%3A%22${pd_md5}%22%3Bs%3A6%3A%22userid%22%3Bs%3A5%3A%22${check_usedid}%22%3B%7D; phpbb2mysql_sid=$sid; check_username=$id; check_userid=$check_userid"
# 取得 [所有帖子] 數據, 要取得這個資料需要登入系統,不同於所[發表的文章]
cat << EOF | nc $host 80 > $file
GET $all_post_uri HTTP/1.1
Host: $host
User-Agent: NC
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: zh-tw,zh-cn;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: Big5,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://$forum_host/forum/profile.php?mode=viewprofile&u=$check_userid
Cookie: $cookie
Cache-Control: max-age=0
EOF
# 取得文章總數
total=`grep '坰善' $file | sed -e 's/.*坰善 \(.*\) 骸.*/\1/g'`
# 啟始
begin=0
# 暫存 文章的 topic_id 檔案,本處我個人不處理 post_id
art_list="/www/htdocs/log.twnic.net.tw/images/cu_list"
rm -f $art_list
# 將上一次結果轉存成舊檔,以用來比對
mv $art_list.sort ${art_list}.old
# 遍歷所發表過的所有文章,這個部份 CU 有分頁處理,所以我們亦要分頁處理
while [ $begin -le $total ]
do
per=`echo "$begin*100/$total" | bc`
echo -e "\b\b$per%\r"
cat << EOF | nc $host 80 > $file
GET $all_post_uri&begin=$begin HTTP/1.1
Host: $host
User-Agent: NC
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: zh-tw,zh-cn;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: Big5,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://$forum_host/forum/profile.php?mode=viewprofile&u=$check_userid
Cookie: $cookie
Cache-Control: max-age=0
EOF
grep "highlight=$id" $file | sed -e 's/.*viewtopic.php?t=\(.*\) target.*隙葩ㄩ\(.*\)<\/td><\/tr><tr><td width=10% align=center bgcolor=#ffffff>囀.*/\1:\2/g' | grep -E '^[0-9][0-9][0-9][0-9]' >>$art_list
begin=`expr $begin + 30`
done
# 將文章排序,並去除重覆的 topic_id
cat $art_list | sort -n -t':'| uniq > $art_list.sort
# 比較新舊的差別,並取得 topic_id
reply_list=`diff -uT $art_list.old $art_list.sort |sed -e '1,3d'| grep ^+ |cut -f2 | sort | uniq`
for s in $reply_list
do
# 主題回覆通知,只送 topic_id , 而不送 topic name 等資訊
t=`echo $s | cut -f 1 -d':'`
start=`echo $s | cut -f 2 -d':'`
start=`echo $start/10*10 | bc`
echo "$t:$start"
# 寄送該網頁的資料
echo -e "GET /forum/viewtopic.php?t=$t&start=$start HTTP/1.1\nHost: $forum_host\nCookie: $cookie\nReferer: http://$forum_host//forum/viewtopic.php?t=$t\n\n" \
| nc $forum_host 80 \
| sed -e '/^HTTP/,/^Content-Type/d' | sed '1,3d' \
| formail -I "Date: $(date)" \
-I "From: webmaster@bbs.chinaunix.net" \
-I "To: $email" \
-I "Subject: 主題回覆-帶本文" \
-I "MIME-Version: 1.0" \
-I "Content-Type: text/html; charset=\"gb2312\"" \
| sed -e "s/src=\/forum/src=http:\/\/$forum_host\/forum/g" \
| sed -e "s/src=\"\/forum/src=\"http:\/\/$forum_host\/forum/g" \
| sed -e "s/href=\/forum/href=http:\/\/$forum_host\/forum/g" \
| sed -e "s/href=\"\/forum/href=\"http:\/\/$forum_host\/forum/g" \
| sendmail -oi -t
echo "http://bbs.chinaunix.net/forum/viewtopic.php?t=$t&start=$start" | mail -s "主題回覆通知" abelyang@twnic.net.tw
done
這樣應該是完成了, 在我的 id/password 下測試是正常的,若有人可以幫
測一下是最好不過的
url/link 的問題也解決了, Outlook 中可以收到完整網頁內容

| |
waker 回复于:2005-07-08 08:09:32
精彩 :em16: :em16: :em16:
platinum 回复于:2005-07-08 11:49:07
这篇好文我已经收藏了,可惜目前还没时间看。。。
建议版主加入精华
r2007 回复于:2005-07-08 13:22:23
echo '$pd'|md5sum
和
echo -n '$pd'|md5sum
不同
abel 回复于:2005-07-08 13:38:02
引用:原帖由 "r2007" 发表: echo '$pd'|md5sum
和
echo -n '$pd'|md5sum
不同
感謝..終於了解我的困感...
的確, -n 後即和 php/mysql 的 md5 結果是相同的
附帶說明一下,我做 CGI mode 好了,給有需要的人來登計一下,
那就可以為大家寄送主題回覆通知了
waker 回复于:2005-07-08 14:09:52
abel哥,能问一下
Cookie: phpbb2mysql_data=s%3A0%3A%22%22%3B; phpbb2mysql_sid=
这个从什么地方总结出来,抓包么?
abel 回复于:2005-07-08 14:18:07
引用:原帖由 "waker" 发表: abel哥,能问一下
Cookie: phpbb2mysql_data=s%3A0%3A%22%22%3B; phpbb2mysql_sid=
这个从什么地方总结出来,抓包么?
是的,你可以看成抓包,或用 proxy 來 log HTTP Request/Response Header
(您要有 proxy 的主控權,而恰好我有),只要看得到,就可以知道, CU cookie 的
切始化情形
您在 cu 的 login.php 頁面,在連的時候,他就會送來兩個 cookie name
點選 "自動登入" , 並在登入後,它會把 Cookie 的完整內容送來
只是 CU 的 Cookie 送了不少資料,且分成了數段的 Cookie: xxxx
所以處理起來是較費事的
我個人是都用在 sheel 多是用 nc 來連 抓網頁為主,當然這個例子也可以用
wget/curl/lynx , 不過相對的就要了解這些 Agent 對 Cookie 的設定方法
那倒不如研究最底層的東西
abel 回复于:2005-07-08 16:32:52
http://211.72.210.251/CU/notify.php
可以訂閱 CU 的主題回覆通知哦
有興趣的人可以試試,但需要你的 ID/Email :D
好好先生 回复于:2005-07-09 08:58:37
学习ing.........
platinum 回复于:2005-07-11 00:06:33
abel 兄,我订阅了,确实能收到很多 mail,但其中有很多格式并不正确,好像是抓取 html 代码时遇到了问题
另外,我取消了订阅,为什么还给我发啊,每天大概上千封,跟被垃圾邮件攻击了一样,我现在都不敢发贴了 :oops:
abel 回复于:2005-07-11 09:42:00
引用:原帖由 "platinum" 发表: abel 兄,我订阅了,确实能收到很多 mail,但其中有很多格式并不正确,好像是抓取 html 代码时遇到了问题
另外,我取消了订阅,为什么还给我发啊,每天大概上千封,跟被垃圾邮件攻击了一样,我现在都不敢发贴了 :..........
呀呀呀~
真是抱歉...
可它發給我是正確的,這二天放假共發給我五封,是都沒有錯的.
如果您有 sample ,可以寄給我是最好不過的
(abelyang{at}twnic.net.tw)
至於,上千封的問題,我想,主要在你我的文章量不同,所致,再加上 CU 有時會
斷線(下附圖為證),而我的 script , 沒有考慮到斷線情形,所以會出現這種情況吧
我巳經修正了這個情況,另外,將您的訂閱拿掉, 一切都看您還想不想試試哦
若有問題,我會儘力修正的,造成你 spam 的狀況,還請海量了

platinum 回复于:2005-07-11 17:23:30
谢谢 abel 兄的热心,我再从新订阅一次,若出现了问题,将 sample 发给您
abel 回复于:2005-07-11 17:41:19
引用:原帖由 "platinum"]谢谢 abel 兄的热心,我再从新订阅一次,若出现了问题,将 sample 发给您 发表:
我試過, html 的代碼在 OutLook 中,圖片有時會出不來,
但在 openwebmail 則圖皆可以正常顯示
我想,這和 MUA 的作法會有關,如果只是圖出不來 (像舉報/推薦/引用),
我想這個問題應還好....
就看大家可不可以接受,因為 Content 那一項可以讓你不用進入 CU
就可以知道,人家回覆什麼, 這對有訂的人應該是不錯的才是
不過換句話來看,從上圖來看, CU 自移機後,其實可以看得出來,人數掉了一些
如果有人主題回覆通知想用 MSN 收可以和我說哦...
我可以掉通知發到你的 MSN 對話windows 中
有需求我再寫出來即可
bitbull 回复于:2005-08-03 17:42:21
忍不住回了贴,好精采
hongfengyue 回复于:2005-09-28 17:25:56
精彩!!回家仔细看!
qry 回复于:2005-09-29 03:18:39
其实phpBB已经有这个功能了,就看管理员是否愿意开放。
http://www.phpbb.com/features.php#members
Message formatting with various font styles and sizes as well as allowing quoting, code display, image posting and automatic URL linking
Support of standard and extended BBCode tags and controlled HTML tags
Polls can be simply added to posts
[color=red]Email notification of replies to your topics[/color]
Powerful topic subscription capability
Original emoticons to portray emotions
soaact 回复于:2006-09-03 15:04:14
引用:原帖由 abel 于 2005-7-8 14:18 发表
是的,你可以看成抓包,或用 proxy 來 log HTTP Request/Response Header
(您要有 proxy 的主控權,而恰好我有),只要看得到,就可以知道, CU cookie 的
切始化情形
您在 cu 的 login.php 頁面,在連的時候,他就會 ...
有哪位大哥知道这个用shell具体怎么实现?
即怎样抓取Cookie:
phpbb2mysql_data=s%3A0%3A%22%22%3B; phpbb2mysql_sid=
或给点提示?
谢谢!
phpman 回复于:2006-09-03 23:54:02
好贴~收藏之~
phpman 回复于:2006-09-03 23:56:00
若是要我实现,我肯定掉到wget或者curl这些工具如何收发cookie的坑里了~
还是从最底层实现妙~
soaact 回复于:2006-09-04 13:12:38
引用:原帖由 soaact 于 2006-9-3 15:04 发表
有哪位大哥知道这个用shell具体怎么实现?
即怎样抓取Cookie:
phpbb2mysql_data=s%3A0%3A%22%22%3B; phpbb2mysql_sid=
或给点提示?
谢谢!
有哪位知道吗?给个提示也行啊
再次感谢
r2007 回复于:2006-09-04 15:06:41
抓包分析一下就可以了
soaact 回复于:2006-09-04 17:34:43
引用:原帖由 r2007 于 2006-9-4 15:06 发表
抓包分析一下就可以了
谢谢!
我回去试试!
woodie 回复于:2006-09-04 19:16:03
引用:原帖由 soaact 于 2006-9-4 13:12 发表
有哪位知道吗?给个提示也行啊
再次感谢
curl可以存cookie,wget也行。去看看它们的文档。
soaact 回复于:2006-09-11 12:18:38
引用:原帖由 woodie 于 2006-9-4 19:16 发表
curl可以存cookie,wget也行。去看看它们的文档。
woodie真不愧为无厘界新一代的开山怪!
本来我已经对这个论坛失望了,
觉得这个论坛没有前途了,
心里充满了悲哀。
[size=6][font=黑体]但是看了你的这个帖子,
又让我对论坛产生了希望。[/font][/size]
woodie 回复于:2006-09-15 13:00:59
引用:原帖由 soaact 于 2006-9-11 12:18 发表
...
woodie真不愧为无厘界新一代的开山怪!
本来我已经对这个论坛失望了,
觉得这个论坛没有前途了,
心里充满了悲哀。
[size=6][font=黑体]但是看了你的这个帖子,
又让我对论坛产生了希望。[/font][/size]
呵呵,今天才看到Soccat兄的回贴。你是讽刺我回贴文不对题吧?呵呵,没关系。我并没有搞笑的意图,我的回贴实际上反映了我的态度:那就是不希望大家放着现有的工具不用,一切自己重新实现。
实际上我对abel兄的精神很佩服,他在DNS方面的水平更是令我高山仰止的。不过对他在这个问题上的思路我却不太赞成,换句话说,我不太喜欢重新发明轮子的工作,玩shell的人可能都是天生的懒虫吧。^_^
如果说现有的工具能实现cookie保持的功能,我是懒得再自己写个东西来做同样的事情的。类似的抓取需要注册的网站页面(当然并不是CU哦^_^)的代码我曾经用python写过,而且现在还在使用中。如果用shell来做这件事情,我想最直接的还是用curl/wget。当然如果是出于自己研究http协议的想法,自己从底层做起倒是无可厚非的。
顺便提醒Socca兄一句:现在CU的论坛系统已经不是原来的PHPbb2了,想必cookie也变了吧?
soaact 回复于:2006-09-15 20:32:06
引用:原帖由 woodie 于 2006-9-15 13:00 发表
呵呵,今天才看到Soccat兄的回贴。你是讽刺我回贴文不对题吧?呵呵,没关系。我并没有搞笑的意图,我的回贴实际上反映了我的态度:那就是不希望大家放着现有的工具不用,一切自己重新实现。
实际上我对abel兄 ...
没有没有,我只是开玩笑而已。woodie大哥切莫挂心!
我也觉得abel大哥很厉害,尤其是在网络方面。
不过在shell方面,woodie哥在cu已经数一数二了!
|