perl で2ちゃんねるに書き込む簡易スクリプトを作りました。 投稿先のURL($url)を適当に変えて試してみてください。 1回目はクッキーがセットされていないので、確認画面になります。 2回目以降は書き込めます。
use strict;
use warnings;
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use HTTP::Cookies;
my $ua = LWP::UserAgent->new;
$ua->agent( 'Mozilla/4.0' );
$ua->timeout('10');
###########ここから下は書き換えて###########
#●にログインするID,PASSWORD
my $maru_id='**********@************';
my $maru_pw='********';
#書き込みに関するデータ
my $url="http://****.2ch.net/test/read.cgi/*******/**********/";
my $message='test';
my $mail='sage';
my $FROM='';
my $server;
my $bbs;
my $key;
my $sid;
my $cookiename='cookiexxxxxxxxxxxx.txt';
############ ここまで #######################
if($url =~ /http:\/\/([a-z0-9]+\.[a-z0-9]+\.[a-z0-9]+)\/test\/read\.cgi\/([a-z0-9]+)\/([0-9]+)\//){
$server=$1;
$bbs=$2;
$key=$3;
}
#●にログインする場合はコメントアウト
#$sid=&login($maru_id, $maru_pw);
#投稿するデータをセット
my %formdata = (
MESSAGE => $message,
mail => $mail,
FROM => '',
sid => $sid,
time => '1',
key => $key,
bbs => $bbs,
den => 'bo',
submit => "",
);
my $cookie_jar = HTTP::Cookies->new(
file => $cookiename,
autosave => 1,
);
$ua->cookie_jar($cookie_jar);
############# 書き込み ###############
$formdata{MESSAGE}=$message;
my $req = POST( "http://".$server."/test/bbs.cgi", [%formdata] );
$req->referer("http://".$server."/".$bbs."/");
$req->header( 'Accept' => 'text/html' );
my $res = $ua->request($req);
print $message,"\n";
if ($res->is_success) {
print $res->content;
}
else {
print $res->status_line, "\n";
}
############################
#●にログイン
############################
sub login {
my ( $id, $pw ) = @_;
my $ua = LWP::UserAgent->new;
$ua->agent('DOLIB/1.00');
$ua->default_header( 'X-2ch-UA' => 'Monazilla/1.00' );
my $url = 'https://2chv.tora3.net/futen.cgi';
my %form = ( 'ID' => $id, 'PW' => $pw );
my $req = POST( $url, Content => "ID=$id&PW=$pw" );
my $res = $ua->request($req);
my $sid = $res->content;
chomp($sid);
$sid =~ s/^SESSION-ID=//g;
print $sid,"\n";
return $sid;
}