【テスト】PHPで2chにHello Worldを書き込む 2
PHPを使って2ちゃんねるにHello Worldを書き込むスレです。
!ninjaテストやトリップテスト等もこちらでどうぞ。
※忍者ID確認は名前欄に !ninja
■初代スレ
PHPを使って2ちゃんねるにHello Worldを書き込む
http://toro.2ch.net/test/read.cgi/tech/1232331701/
*スレ削除済み。閲覧は過去ログ保存サイトでどうぞ
■関連スレ
Perlを使って2ちゃんねるにHello Worldを書き込む
http://toro.2ch.net/test/read.cgi/tech/1184483810/ 投稿phpは初代スレの124レス目が参考になります。
みみずん検索やログ速などの過去ログ保管サイトで見てください <?php
echo "このホームページを見た人ゎ、2ちゃんねるに Hello World ってかいて欲しいのラ"; <?php echo "Hello World";?> 前スレ 124より
<?php
$body = "submit=%8F%91%82%AB%8D%9E%82%DE&FROM=%66%75%73%69%61%6E%61%73%61%6E&mail=sage&MESSAGE=Hello+world&bbs=tech&key=1232331701&time=1";
$length = strlen($body);
$head = "POST /test/bbs.cgi HTTP/1.1\r\nHost: pc11.2ch.net\r\nUser-Agent: monazilla/1.00\r\n".
"Referer: http://pc11.2ch.net/test/read.cgi/tech/1232331701/l50\r\nContent-Type: application/x-www-form-urlencoded\r\n";
$out = $head."Content-Length: ".$length."\r\n\r\n".$body;
$fp = fsockopen("pc11.2ch.net", 80, $errno, $errstr, 30);
if (!$fp) {echo "$errstr ($errno)<br>\n";exit;}
fwrite($fp, $out);
$cookie = "Cookie: ";
while (!feof($fp)) {
$str = fgets($fp, 128);
if (strpos($str, "Set-Cookie: ") === 0) {
$str = str_replace("Set-Cookie: ", "", $str);
list($cook, ) = explode(";", $str);
$cookie .= $cook."; ";
}
}
fclose($fp);
$cookie .= "NAME=\"\"; MAIL=\"\"; suka=pontan\r\n";
$out = $head.$cookie."Content-Length: ".$length."\r\n\r\n".$body;
$fp = fsockopen("pc11.2ch.net", 80, $errno, $errstr, 30);
if (!$fp) {echo "$errstr ($errno)<br>\n";exit;}
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp); HTTP/1.1 200 OK Date: Mon, 01 Apr 2013 16:25:57 GMT Server: Apache/2.2.15 (Unix) mod_ssl/2.2.15
OpenSSL/0.9.8n PHP/5.2.13 mod_antiloris/0.4 X-Powered-By: PHP/5.2.13 Vary: Accept-Encoding Content-Length: 819 Connection: close Content-Type: text/html X-Pad: avoid browser bug
もうずっと人大杉
ってなって書き込みできない >>53
>>52は書き込みできるよ。
1.サーバー名やスレのURLを現在のものに書き換える。
2.「$cookie .= "NAME=\"\"; MAIL=\"\"; suka=pontan\r\n"」のところを
$cookie .= "NAME=\"\"; MAIL=\"\"; yuki=akari; HAP=FOXdayo〜(ここに自分のHAP)\r\n
に変更する。 >>52を蘇らせてみた。
下記の「*ここに FOXdayo〜から始まる文字列を記入*」 の部分を自分のHAPに置き換えれば
>>61のように書き込めるよ
<?php
$body = "submit=%8F%91%82%AB%8D%9E%82%DE&FROM=%21ninja&mail=sage&MESSAGE=Hello+world&bbs=php&key=1362790136&time=1";
$length = strlen($body);
$head = "POST /test/bbs.cgi HTTP/1.1\r\nHost: kohada.2ch.net\r\nUser-Agent: Monazilla/1.00\r\n".
"Referer: http://kohada.2ch.net/test/read.cgi/php/1362790136/l50\r\nContent-Type: application/x-www-form-urlencoded\r\n";
$out = $head."Content-Length: ".$length."\r\n\r\n".$body;
$fp = fsockopen("kohada.2ch.net", 80, $errno, $errstr, 30);
if (!$fp) {echo "$errstr ($errno)<br>\n";exit;}
fwrite($fp, $out);
$cookie = "Cookie: ";
while (!feof($fp)) {
$str = fgets($fp, 128);
if (strpos($str, "Set-Cookie: ") === 0) {
$str = str_replace("Set-Cookie: ", "", $str);
list($cook, ) = explode(";", $str);
$cookie .= $cook."; ";
}
}
fclose($fp);
$cookie .= "NAME=\"\"; MAIL=\"\"; yuki=akari; HAP=*ここに FOXdayo〜から始まる文字列を記入*;\r\n";
$out = $head.$cookie."Content-Length: ".$length."\r\n\r\n".$body;
$fp = fsockopen("kohada.2ch.net", 80, $errno, $errstr, 30);
if (!$fp) {echo "$errstr ($errno)<br>\n";exit;}
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp); HAPというのはいわゆる忍法帖のIDのことです。
【HAPの確認方法:JaneStyleを使っている人の場合】
Jane2ch.exe の入ってるフォルダの中にある Jane2ch.ini をテキストエディタで開く。
そうすると349行目あたりに HAP=FOXdayo******** という文字列があります。
それがHAPです。 お菓子変えまくらないとできなかった…
(Cookie大幅に変更しないと書き込めない…) クッキー無関係で>>62だけで投稿できたけど・・・。
クッキー触る必要ないんじゃないの? 「*ここに FOXdayo〜から始まる文字列を記入*」 の部分を自分のHAPに置き換えるわけだから
$cookie .= "NAME=\"\"; MAIL=\"\"; yuki=akari; HAP=*ここに FOXdayo〜から始まる文字列を記入*;\r\n";
↓
$cookie .= "NAME=\"\"; MAIL=\"\"; yuki=akari; HAP=FOXdayofffae8934aa99usohap68a0638cc34867123c2usohap2a0766fa274fdfee88f0c34f4ff331043d9e43f4b35265ce9e9c75a9a0b24ba522bfa70ce7b7dab04f8;\r\n"
こんな感じなる。上のHAPはテキトーな文字列だから書き込めないけどな。
で、実行させると普通に投稿できる。クッキーを触る必要一切なし。 , - ──- - 、
/ / ヽ \
/ l l ゝ
| | | |
ゝ l .ノ ノ
ヾ ヽ V / У
.ヽ|` ー |--―|' / ♪無職のおじさん♪
| | .| ♪ニートのおじさん♪
lヽ,,lヽ |. ∧_∧ ♪こーんにちはっ♪
(・ω・ )( ・ω・)
| ̄ ̄ ̄ ̄ ̄ ̄|
|_ ̄_ ̄_ ̄_ ̄_|
|_____|