◆2ちゃんねるかきこみセット

情報


概要

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秒待つ。


名前:
コメント:


タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2014年12月14日 18:22
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。