#----------------------------------------------------------------------- //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&「 」&「DMDM="{BE1}";」。S=S&「 」&「MDMD="{BE2}";」。   それを反復     もし、それ=「」ならば、抜ける。     もし、(それを「^Set-Cookie: (.+?=.+?;)」で正規表現マッチ)<>「」ならば、S=S&「 」&抽出文字列。   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」で戻る。   もし、(「」から「」まで範囲切り取る)=「書きこみました。」ならば「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。 #----------------------------------------------------------------------- //↑ここまで #----------------------------------------------------------------------- //定義 二局について   名前欄=「」。   メール欄=「sage」。   本文欄=「( ^ω^)おっおっお」。   カキコスレ=「http://qb5.2ch.net/test/read.cgi/operate/1190006333/」。 //  ホスト名=「qb5.2ch.net」。 //  板キー=「operate」。 //  スレキー=「1190006333」。         BEログイン=いいえ。   BEメールアドレス=「」。   BE認証コード=「」。 //使うときはwstunnelを起動しておくこと  HTTP 25745 2chv.tora3.net 443 //http://www1.orangesoft.co.jp/wstunnel/   まるログイン=いいえ。   まるID欄=「」。   まるパス欄=「」。 //準備 クッキー=二局クッキー取得。 まるクッキー=まるクッキー取得。 //書き込み クッキーとまるクッキーで二局書き込み。 応答を表示。