BBS名がありません!

このエントリーをはてなブックマークに追加
1名無しさん@そうだ選挙にいこう
telnetクライアントで2chのBBSに書き込もうとしていますが

http://mentai.2ch.net/test/bbs.cgi?submit=%8F%91%82%AB%8D%9E%82%DE&FROM=fusianasan&mail=sage&MESSAGE=test+test&bbs=tax&key=974821716&time=974827359

としても「BBS名がありません!」とエラーになってしまいます。
どの引数が足りないのでしょうか?
bbs=taxの所じゃないんでしょうか?
(実際はGETではなくPOSTで試しています。)

どなたか良きアドバイスをよろしくお願いします。
2名も無き少年:2000/11/22(水) 04:43
ちゃんとHTTP 1.1で喋ってるか? 2ch.netはバーチャルホストで
実現してるから、おそらくホスト名が必須だぞ。・・・でも、正直
あんまり関係ないかもしれないな。とりあえずログ見せてみれ。
31:2000/11/22(水) 13:42
POST http://mentai.2ch.net/test/bbs.cgi HTTP/1.1
HOST: mentai.2ch.net
USER_AGENT: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)
Content=Type: text/plain
Content-Length: 112

submit=%8F%91%82%AB%8D%9E%82%DE&FROM=fusianasan&mail=sage&MESSAGE=test+test&bbs=tax&key=974821716&time=974827359

となってます。よろしくお願いします。
4:2000/11/22(水) 13:51
するとこれが返ってきます。

-----------------------------------
HTTP/1.1 200 OK
Date: Wed@` 22 Nov 2000 04:50:22 GMT
Server: Apache/1.3.6 (Unix) PHP/4.0.3pl1 mod_ssl/2.3.6 OpenSSL/0.9.3a
Set-Cookie: NAME=fusianasan; expires=2001@` 2001-11-11 00:00:00 GMT; path=/
Keep-Alive: timeout=10@` max=100
Transfer-Encoding: chunked
Content-Type: text/html; charset=shift_jis
Proxy-Connection: close

787
<html>
<head>
<title>ERROR!</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</head>
<body bgcolor="#FFFFFF">
<div><b> BBS名がありません!</b></div>
<br>
test test
<br>

<center>
<iframe src='http://ads.datais.com/ads/ad.cgi?0ch-ad974868622&lmth=iframe&chnc=true'
height=60 width=468 border=0 marginheight=0 scrolling='no' marginwidth=0 frameborder='no'>
<a href="http://ads.datais.com/ads/ad.cgi?0ch-link974868622&chnc=true" target="_top">
<img src="http://ads.datais.com/ads/ad.cgi?0ch-ad974868622&chnc=true" border="0"
alt="Click here to visit our sponsor" width="468" height="60"></a><br>
<font size=1><a href="http://japan.datais.com">The Datacom Ad Network</a></font>
</iframe>
</ce
5名も無き少年:2000/11/22(水) 18:42
んー。うまくいきそうに見えるなぁ・・・。謎だ。

ところでHOST:とかUSER_AGENT:って全部大文字でもいいんだっけ?
よく見かけるのはCapsLowなので、それが問題かも?
あと、POST /pathとHost: hostname の組み合わせじゃなくて
POST http://hostname/path の形式だとどうよ?

あと、一般的にBBSへのPOSTはReferer偽装もしないといけない場合が
多いと思うが、そのへんはどうかねえ。 エラーメッセージとは
関係ないけど。

# あんまり2ちゃんCGIの仕様は分かってない・・・。むう。
6なーるほど。:2000/11/23(木) 12:38
POST(GET)の直後のパスは / で初めないといけないよ。
http で始めるのは接続先ホストをプロキシとする場合。
3の例だと
「プロキシのmentaiさん、http://mentai.2ch.net/test/bbs.cgi を取ってきてください」
て意味になっちゃうからね。
7:2000/11/23(木) 15:21
こちらこそ、なるほどです。
3だとhttp://mentai.2ch.net/test/bbs.cgiを取ってきてるだけで引数が伝わってないようですね
納得です。
しかし引数を伝えるためにはどうすれば良いのでしょうか?

説明が足りませんでしたが3はプロ串に対してのリクエストです。

ためしにmentai.2ch.netに串を通さず直接

POST /test/bbs.cgi HTTP/1.1
HOST: mentai.2ch.net
USER_AGENT: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)
・・・・以下同じ

としてみましたが結果は同じでした。
どうすれば引数が伝わるのでしょうか?

度々ご迷惑をかけてすいません。よろしくお願いします。
86:2000/11/23(木) 19:38
test
96:2000/11/23(木) 19:45
一次報告。
------
POST /test/bbs.cgi HTTP/1.1
Host: mentai.2ch.net
User-Agent: netcat
Content-Type: text/plain
Content-Length: 70
Connection: close

bbs=network&key=974830560&time=974974821&FROM=6&mail=sage&MESSAGE=test
------
8は上記のフォームで書き込めました。
「SUBMIT=どーたらこーたら」は不要でした。
3を見て気付いたことですが
・USER_AGENTではなくUser-Agentではないでしょうか?
・Content=Type はtelnetでもそう書いたんですか?
CGIのきまりでは
Content-Type: application/x-www-form-urlencoded
と書くらしいですよ。ここでは書かなくても成功でしたが。
・串を使っていたのなら6の指摘は的外れだったかもしれません。
106:2000/11/23(木) 19:46
test
116:2000/11/23(木) 19:48
test3
ってゆーか、ローカルで動かすCGIProxyServerでも動かせて、
ブラウザの送っているリクエストヘッダを取得してみれば?
136:2000/11/23(木) 19:55
tes
146:2000/11/23(木) 19:56
test&test
15わかった!!:2000/11/23(木) 20:00
「%xx」というのをフォームに含んでいるときは
Content-Type: application/x-www-form-urlencoded
が必須になってくるようです。
これまでの実験ではそれを含んでなかったから大丈夫だった。
でも今回は text/plain ではだめでした。
ということで
Content-Type: application/x-www-form-urlencoded
を入れてください。Good luck!

以下に14を書き込んだときのフォームを示します。
------
POST /test/bbs.cgi HTTP/1.1
Host: mentai.2ch.net
User-Agent: netcat
Content-Type: application/x-www-form-urlencoded
Content-Length: 77
Connection: close

bbs=network&key=974830560&time=974976879&FROM=6&mail=sage&MESSAGE=test%26test
------
161:2000/11/23(木) 20:52
>「%xx」というのをフォームに含んでいるときは
>Content-Type: application/x-www-form-urlencoded
ですか・・・・
そのような決まりがあることも、このようなContent-Typeがあることも知りませんでした。

心から勉強になりました。
本当にどうもありがとうございました。
17名無しさん@そうだ選挙にいこう:2000/11/23(木) 21:25
CGIの規則についてのdraft(すでにexpiredだが)の翻訳
ttp://www.grn.mmtr.or.jp/~tena-r/

RFC2086(旧HTTP/1.1)の翻訳
ttp://www.geocities.co.jp/SiliconValley-PaloAlto/5694/rfc/

RFC2616(現HTTP/1.1)の翻訳(作業中)
ttp://www.st.csce.kyushu-u.ac.jp/~oka/http11/

いずれも翻訳の正しさについては保証しませんので自己責任で、あくまでも参
考として参照してください。
18名無しさん@そうだ選挙にいこう
ここ(2ch)にGETで書き込むことは無理ですか?