「◆2ちゃんねるかきこみセット」の編集履歴(バックアップ)一覧はこちら
◆2ちゃんねるかきこみセット - (2008/09/14 (日) 11:13:26) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
*情報
作者名:五十六
引用元:[[なでしこプログラム掲示板「2ちゃんねる書き込みセット」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=al2&namber=861&rev=&no=0]]
*概要
2ちゃんねる書き込みセットです。そのまんまです。
●とかBEとか使えます。スレ荒らしたりしないでね。
*サンプルプログラム
//書き込みスレ定義-------------------------------
二局について
名前欄=「」。
メール欄=「sage」。
本文欄=「( ^ω^)おっおっお」。
//スレの例↓
カキコスレ=「http://nadesiko.2ch.net/test/read.cgi/nadesiko/1234567890/」。
//こちらでも可
// ホスト名=「nadesiko.2ch.net」。
// 板キー=「nadesiko」。
// スレキー=「1234567890」。
BEログイン=いいえ。
BEメールアドレス=「」。
BE認証コード=「」。
//使うときはwstunnelを起動しておくこと HTTP 25745 2chv.tora3.net 443
//http://www1.orangesoft.co.jp/wstunnel/
まるログイン=いいえ。
まるID欄=「」。
まるパス欄=「」。
//書き込みスレ定義ここまで-----------------------
//準備
二局書き込み準備。
//書き込み
二局書き込み。
//確認
応答を表示。
###おまけ 【延々と30秒毎に書きこみ続ける保守ツール】
##二局書き込み準備
##1の間
## 二局書き込み。
## もし、それ=「-2」/*クッキー古いよ*/ならば
## 二局書きこみ準備。二局書き込み。
## 30秒待つ。
*本体
#-----------------------------------------------------------------------
//2ちゃんかきこみセット (一番上において下さい)
#-----------------------------------------------------------------------
//変数定義 (必要)
サーバーとは文字列。フォルダとは文字列。スレ番号とは文字列。応答とは文字列。
BE0とは文字列。BE1とは文字列。BE2とは文字列。まる0とは文字列。まる1とは文字列。まる2とは文字列。
ネームとは文字列。メールとは文字列。本文とは文字列。クッキーとは文字列。まるクッキーとは文字列。クラ受信とは文字列。
!「nakonet.nako」を取り込む。
クライアントとはTCPクライアント。
クライアントについて
ポートは25745。
ホストは「localhost」。
接続した時は~クラ受信=空。
受信した時は~クラ受信=(クライアント→受信)。
■二局
・カキコスレ ←カキコスレ設定
・ホスト名 ←ホスト名設定
・板キー ←板キー設定
・スレキー ←スレキー設定
・BEログイン ←BEログイン設定
・BEメールアドレス ←BEメールアドレス設定
・BE認証コード ←BE認証コード設定
・名前欄 ←名前欄設定 →名前欄取得
・メール欄 ←メール欄設定 →メール欄取得
・本文欄 ←本文欄設定 →本文欄取得
・まるログイン ←まるログイン設定
・まるID欄 ←まるID欄設定
・まるパス欄 ←まるパス欄設定
・{非公開}ホスト名設定(V)~サーバー=V。
・{非公開}板キー設定(V)~フォルダ=V。
・{非公開}スレキー設定(V)~スレ番号=V。
・{非公開}BEログイン設定(V)~BE0=V。
・{非公開}BEメールアドレス設定(V)~BE1=V。
・{非公開}BE認証コード設定(V)~BE2=V。
・{非公開}名前欄設定(V)~ネーム=VをURLエンコード。
・{非公開}メール欄設定(V)~メール=VをURLエンコード。
・{非公開}本文欄設定(V)~本文=VをURLエンコード。
・{非公開}名前欄取得~それ=ネームをURLデコード。
・{非公開}メール欄取得~それ=メールをURLデコード。
・{非公開}本文欄取得~それ=本文をURLデコード。
・{非公開}まるログイン設定(V)~まる0=V。
・{非公開}まるID欄設定(V)~まる1=V。
・{非公開}まるパス欄設定(V)~まる2=V。
・{非公開}カキコスレ設定(V)~Vのスレ一括設定。
●二局クッキー取得
S=「Cookie:」。
エラー監視、「Referer: http://{サーバー}/{フォルダ}/{\n}User-Agent: Monazilla/1.00 (kage/1.00)」と「」を「http://{サーバー}/test/bbs.cgi」へHTTPポスト。
エラーならば、「-1」で戻る。
もし、BE0=はいならば
もし、BE1≠空ならば
もし、BE2≠空ならば
S=S&「 」&「MDMD={BE2};」。S=S&「 」&「DMDM={BE1};」。
S=S&「 」&『READJS="off"; 』&「NAME=」&『"』&「{二局の名前欄をURLエンコード}」&『";』&「 MAIL=」&『"』&「{二局のメール欄をURLエンコード}」&『";』。
それを反復
もし、それ=「」ならば、抜ける。
もし、(それを「^Set-Cookie: (.+?=.+?;)」で正規表現マッチ)<>「」ならば、S=S&「 」&抽出文字列。
もし、(BE0=はい)かつ(BE1≠空)かつ(BE2≠空)ならば、S=S&「 hana=mogera」。
Sで戻る。
●まるクッキー取得
S=空。A=空。クラ受信=空。
もし、まる0=いいえならば、「-1」で戻る。もし、まる1=空ならば、「-1」で戻る。もし、まる2=空ならば、「-1」で戻る。
クライアントで接続。
エラー監視
A=「ID={まる1}&PW={まる2}」。
「POST https://2chv.tora3.net/futen.cgi HTTP/1.0{\n}Host: 2chv.tora3.net{\n}Content-Length: {Aのバイト数}{\n}User-Agent: DOLIB/1.00{\n}X-2ch-UA: kage/1.00{\n}{\n}{A}{\n}{\n}」をクライアントで送信。
エラーならば
「-2」で戻る。
//3秒でタイムアウト
300回
もし、クラ受信≠空ならば、抜ける。
0.01秒待つ。
クライアントで切断。
もし、クラ受信=空ならば、空で戻る。
S=クラ受信\7。S=Sの「SESSION-ID=」を空に置換。
もし、(Sの1から5文字抜き出す)=「ERROR」ならば、「-3」で戻る。
S=Sの「&」を「%26」に置換。S=Sの改行を「,」に置換。Sで戻る。
●二局書き込み
HEAD=空。BODY=空。応答=空。
HEAD=「Referer: http://{サーバー}/{フォルダ}/{\n}User-Agent: Monazilla/1.00 (kage/1.00){\n}{クッキー}」。
BODY=「bbs={フォルダ}&key={スレ番号}」。
もし、まる0=はいならば
もし、まるクッキーのバイト数>20ならば
BODY=BODY&「&sid={まるクッキー}」。
BODY=BODY&「&time=1&submit=書き込む&FROM={ネーム}&mail={メール}&MESSAGE={本文}&hana=mogera」。
エラー監視、応答=HEADとBODYを「http://{サーバー}/test/bbs.cgi」へHTTPポスト。
エラーならば、「-1」で戻る。//鯖反応なし
もし、応答=空ならば、「-2」で戻る。
もし、(「<title>」から「</title>」まで範囲切り取る)=「書きこみました。」ならば「2」で戻る。//成功
応答の「<!--」から「-->」まで範囲切り取る。空白除去。
もし、それ=「2ch_X:true」ならば、「1」で戻る。//成功
もし、それ=「2ch_X:cookie」ならば、「-2」で戻る。//クッキー古い
違えば、「-3」で戻る。//失敗
●スレURL分解(URLから|URLの|URLを)
A=空。B=空。C=空。URL=URLの「/」を「//」に置換。URL=URLの「/test//read.cgi/」を空に置換。
A=URLの「////」から「/」まで範囲切り取る。C=URLを『\d{10}』で正規表現マッチ。URL=URLのそれを空に置換。
B=URLの「/」から「/」まで範囲切り取る。「{A}{\n}{B}{\n}{C}」で戻る。
●スレ一括設定(Sで|Sを|Sの)
SをスレURL分解。
二局について
ホスト名=それ[0]。板キー=それ[1]。スレキー=それ[2]。
●二局書き込み準備
クッキー=二局クッキー取得。
まるクッキー=まるクッキー取得。
#-----------------------------------------------------------------------
//↑ここまで
#-----------------------------------------------------------------------
*情報
作者名:五十六
引用元:[[なでしこプログラム掲示板「2ちゃんねる書き込みセット」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=al2&namber=861&rev=&no=0]]
*概要
2ちゃんねる書き込みセットです。そのまんまです。
●とかBEとか使えます。スレ荒らしたりしないでね。
*サンプルプログラム
//書き込みスレ定義-------------------------------
二局について
名前欄=「」。
メール欄=「sage」。
本文欄=「( ^ω^)おっおっお」。
//スレの例↓
カキコスレ=「http://nadesiko.2ch.net/test/read.cgi/nadesiko/1234567890/」。
//こちらでも可
// ホスト名=「nadesiko.2ch.net」。
// 板キー=「nadesiko」。
// スレキー=「1234567890」。
BEログイン=いいえ。
BEメールアドレス=「」。
BE認証コード=「」。
//使うときはwstunnelを起動しておくこと HTTP 25745 2chv.tora3.net 443
//http://www1.orangesoft.co.jp/wstunnel/
まるログイン=いいえ。
まるID欄=「」。
まるパス欄=「」。
//書き込みスレ定義ここまで-----------------------
//準備
二局書き込み準備。
//書き込み
二局書き込み。
//確認
応答を表示。
###おまけ 【延々と30秒毎に書きこみ続ける保守ツール】
##二局書き込み準備
##1の間
## 二局書き込み。
## もし、それ=「-2」/*クッキー古いよ*/ならば
## 二局書きこみ準備。二局書き込み。
## 30秒待つ。
*本体
#-----------------------------------------------------------------------
//2ちゃんかきこみセット (一番上において下さい)
#-----------------------------------------------------------------------
//変数定義 (必要)
サーバーとは文字列。フォルダとは文字列。スレ番号とは文字列。応答とは文字列。
BE0とは文字列。BE1とは文字列。BE2とは文字列。まる0とは文字列。まる1とは文字列。まる2とは文字列。
ネームとは文字列。メールとは文字列。本文とは文字列。クッキーとは文字列。まるクッキーとは文字列。クラ受信とは文字列。
!「nakonet.nako」を取り込む。
クライアントとはTCPクライアント。
クライアントについて
ポートは25745。
ホストは「localhost」。
接続した時は~クラ受信=空。
受信した時は~クラ受信=(クライアント→受信)。
■二局
・カキコスレ ←カキコスレ設定
・ホスト名 ←ホスト名設定
・板キー ←板キー設定
・スレキー ←スレキー設定
・BEログイン ←BEログイン設定
・BEメールアドレス ←BEメールアドレス設定
・BE認証コード ←BE認証コード設定
・名前欄 ←名前欄設定 →名前欄取得
・メール欄 ←メール欄設定 →メール欄取得
・本文欄 ←本文欄設定 →本文欄取得
・まるログイン ←まるログイン設定
・まるID欄 ←まるID欄設定
・まるパス欄 ←まるパス欄設定
・{非公開}ホスト名設定(V)~サーバー=V。
・{非公開}板キー設定(V)~フォルダ=V。
・{非公開}スレキー設定(V)~スレ番号=V。
・{非公開}BEログイン設定(V)~BE0=V。
・{非公開}BEメールアドレス設定(V)~BE1=V。
・{非公開}BE認証コード設定(V)~BE2=V。
・{非公開}名前欄設定(V)~ネーム=VをURLエンコード。
・{非公開}メール欄設定(V)~メール=VをURLエンコード。
・{非公開}本文欄設定(V)~本文=VをURLエンコード。
・{非公開}名前欄取得~それ=ネームをURLデコード。
・{非公開}メール欄取得~それ=メールをURLデコード。
・{非公開}本文欄取得~それ=本文をURLデコード。
・{非公開}まるログイン設定(V)~まる0=V。
・{非公開}まるID欄設定(V)~まる1=V。
・{非公開}まるパス欄設定(V)~まる2=V。
・{非公開}カキコスレ設定(V)~Vのスレ一括設定。
●二局クッキー取得
S=「Cookie:」。
エラー監視、「Referer: http://{サーバー}/{フォルダ}/{\n}User-Agent: Monazilla/1.00 (kage/1.00)」と「」を「http://{サーバー}/test/bbs.cgi」へHTTPポスト。
エラーならば、「-1」で戻る。
もし、BE0=はいならば
もし、BE1≠空ならば
もし、BE2≠空ならば
S=S&「 」&「MDMD={BE2};」。S=S&「 」&「DMDM={BE1};」。
S=S&「 」&『READJS="off"; 』&「NAME=」&『"』&「{二局の名前欄をURLエンコード}」&『";』&「 MAIL=」&『"』&「{二局のメール欄をURLエンコード}」&『";』。
それを反復
もし、それ=「」ならば、抜ける。
もし、(それを「^Set-Cookie: (.+?=.+?;)」で正規表現マッチ)<>「」ならば、S=S&「 」&抽出文字列。
もし、(BE0=はい)かつ(BE1≠空)かつ(BE2≠空)ならば、S=S&「 hana=mogera」。
Sで戻る。
●まるクッキー取得
S=空。A=空。クラ受信=空。
もし、まる0=いいえならば、「-1」で戻る。もし、まる1=空ならば、「-1」で戻る。もし、まる2=空ならば、「-1」で戻る。
クライアントで接続。
エラー監視
A=「ID={まる1}&PW={まる2}」。
「POST https://2chv.tora3.net/futen.cgi HTTP/1.0{\n}Host: 2chv.tora3.net{\n}Content-Length: {Aのバイト数}{\n}User-Agent: DOLIB/1.00{\n}X-2ch-UA: kage/1.00{\n}{\n}{A}{\n}{\n}」をクライアントで送信。
エラーならば
「-2」で戻る。
//3秒でタイムアウト
300回
もし、クラ受信≠空ならば、抜ける。
0.01秒待つ。
クライアントで切断。
もし、クラ受信=空ならば、空で戻る。
S=クラ受信\7。S=Sの「SESSION-ID=」を空に置換。
もし、(Sの1から5文字抜き出す)=「ERROR」ならば、「-3」で戻る。
S=Sの「&」を「%26」に置換。S=Sの改行を「,」に置換。Sで戻る。
●二局書き込み
HEAD=空。BODY=空。応答=空。
HEAD=「Referer: http://{サーバー}/{フォルダ}/{\n}User-Agent: Monazilla/1.00 (kage/1.00){\n}{クッキー}」。
BODY=「bbs={フォルダ}&key={スレ番号}」。
もし、まる0=はいならば
もし、まるクッキーのバイト数>20ならば
BODY=BODY&「&sid={まるクッキー}」。
BODY=BODY&「&time=1&submit=書き込む&FROM={ネーム}&mail={メール}&MESSAGE={本文}&hana=mogera」。
エラー監視、応答=HEADとBODYを「http://{サーバー}/test/bbs.cgi」へHTTPポスト。
エラーならば、「-1」で戻る。//鯖反応なし
もし、応答=空ならば、「-2」で戻る。
もし、(「<title>」から「</title>」まで範囲切り取る)=「書きこみました。」ならば「2」で戻る。//成功
応答の「<!--」から「-->」まで範囲切り取る。空白除去。
もし、それ=「2ch_X:true」ならば、「1」で戻る。//成功
もし、それ=「2ch_X:cookie」ならば、「-2」で戻る。//クッキー古い
違えば、「-3」で戻る。//失敗
●スレURL分解(URLから|URLの|URLを)
A=空。B=空。C=空。URL=URLの「/」を「//」に置換。URL=URLの「/test//read.cgi/」を空に置換。
A=URLの「////」から「/」まで範囲切り取る。C=URLを『\d{10}』で正規表現マッチ。URL=URLのそれを空に置換。
B=URLの「/」から「/」まで範囲切り取る。「{A}{\n}{B}{\n}{C}」で戻る。
●スレ一括設定(Sで|Sを|Sの)
SをスレURL分解。
二局について
ホスト名=それ[0]。板キー=それ[1]。スレキー=それ[2]。
●二局書き込み準備
クッキー=二局クッキー取得。
まるクッキー=まるクッキー取得。
#-----------------------------------------------------------------------
//↑ここまで
#-----------------------------------------------------------------------
----
#comment()
----