*情報 作者名:五十六 引用元:[[なでしこプログラム掲示板「2ちゃんねる書き込みセット」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=al2&namber=861&rev=&no=0]] *概要 2ちゃんねる書き込みセットです。そのまんまです。 ●とかBEとか使えます。スレ荒らしたりしないでね。 *本体 #----------------------------------------------------------------------- //2ちゃんかきこみセット (一番上において下さい) #----------------------------------------------------------------------- //変数定義 (必要) サーバーとは文字列。フォルダとは文字列。スレ番号とは文字列。応答とは文字列。 BE0とは文字列。BE1とは文字列。BE2とは文字列。まる0とは文字列。まる1とは文字列。まる2とは文字列。 ネームとは文字列。メールとは文字列。本文とは文字列。クッキーとは文字列。まるクッキーとは文字列。クラ受信とは文字列。 二局タイム=空。二局PREN=空。 !「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=SをURLエンコード。Sで戻る。 ●二局書き込み HEAD=空。BODY=空。応答=空。 #クッキーを言う。 もし、二局PREN≠空ならば クッキー=クッキの「Cookie: 」を「Cookie: PREN={二局PREN}; 」に単置換。 #クッキー=クッキー&改行&「Cookie: PREN={二局PREN};」。 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>」まで範囲切り取る=「■ 書き込み確認 ■」ならば #二局HAP=応答の「Set-Cookie: HAP=」から「;」まで範囲切り取る。 二局タイム=応答の「name=time value=」から「>」まで範囲切り取る。 二局承諾書き込み。 もし、それ=「1」/*成功*/ならば 二局PREN=応答の「Set-Cookie: PREN=」から「;」まで範囲切り取る。 //承諾!---------------- もし、(「<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]。 ●二局書き込み準備 クッキー=二局クッキー取得。 まるクッキー=まるクッキー取得。 ●二局承諾書き込み HEAD=空。BODY=空。応答=空。 HEAD=「Referer: http://{サーバー}/{フォルダ}/{\n}User-Agent: Monazilla/1.00 (kage/1.00){\n}{クッキー}」。 BODY=「name={空}&FROM={ネーム}&mail={メール}&MESSAGE={本文}&bbs={フォルダ}&time={二局タイム}&key={スレ番号}」。 もし、まる0=はいならば もし、まるクッキーのバイト数>20ならば BODY=BODY&「&sid={まるクッキー}」。 BODY=BODY&「&suka=pontan&submit=上記全てを承諾して書き込む」。 エラー監視、応答=HEADとBODYを「http://{サーバー}/test/bbs.cgi」へHTTPポスト。 エラーならば、「-1」で戻る。//鯖反応なし もし、応答=空ならば、「-2」で戻る。 もし、(「<title>」から「</title>」まで範囲切り取る)=「書きこみました。」ならば「2」で戻る。//成功 応答の「<!--」から「-->」まで範囲切り取る。空白除去。 もし、それ=「2ch_X:true」ならば、「1」で戻る。//成功 もし、それ=「2ch_X:cookie」ならば、「-2」で戻る。//クッキー古い 違えば、「-3」で戻る。//失敗 #----------------------------------------------------------------------- //↑ここまで #----------------------------------------------------------------------- *//サンプルプログラム //書き込みスレ定義------------------------------- 二局について 名前欄=「」。 メール欄=「sage」。 本文欄=「( ^ω^)おっおっお」。 //スレの例↓ カキコスレ=「http://changi.2ch.net/test/read.cgi/voice/1213349430/」。 //こちらでも可 // ホスト名=「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秒待つ。 ---- - 2chTVをこうりゃくしてくれ~ -- 2chコーチ (2009-08-17 18:43:01) - 民主党は国会主義に対する反対主義です!皆さんのご返答待ちします -- 糞すぎわろたです (2009-08-17 18:44:51) #comment() ----
下から選んでください: