■スレッドリストへ戻る■ 全部 1- 最新50

書き込むための情報交換

1 :名無しさん :2001/11/19(月) 01:20
・bbs.cgiの仕様
・書き込みの仕方
・新スレ作成方法
など。

2 :厨房もじらー :2001/11/19(月) 01:31
>>1
書きこみの仕方は資料室にあったような。。。
新スレの立て方はちょっと気になるけどね。。。
bbs.cgiはパブリックでないから、仕様わかるひといるのかな…?
外部仕様は分かる人は分かるんだろうけど。。。

3 :厨房もじらー :2001/11/19(月) 01:34
念のため
http://members.jcom.home.ne.jp/monazilla/document/write.html
ね。

4 :名無しさん :2001/11/19(月) 04:58
すれ立てるのは
FORM{'subject'}(スレの名前)
を送ってやればいいのでは?

5 :名無しさん :2001/11/19(月) 08:10
>>3
それって具体的にどうやってカキコするのか書いてないから参考にならん。
DelphiとCあたりでの具体的なコードが知りたい。

6 :?~?[?[ :2001/11/19(月) 09:24
http://home.netscape.com/newsref/std/cookie_spec.html
これがクッキーの仕様みたいだね。
で、資料室からとべる
WinInetのドキュメントの目次みたかぎりでは(ぉ
クッキー処理する命令がありそうだから
(ということは多分HTTPCLIとかIndyとかのHTTP系コンポでは
おそらくもっと簡単にクッキーを処理できると思う)
上の仕様に適合するように
(といっても、ヒロユキ@ギコナビさんが送っているように)
設定すればいいんだろうけど
漏れはMozilla/JavaScriptでやってるからよくわからない(欝
厨房がでしゃばってスマソ。。。
うちにかえったらギコナビとかホットゾヌのソースみてみます。
もし余裕があったら2ch用ブラウザ作者様フォローおねがいです。。。(欝

7 :厨房もじらー :2001/11/19(月) 09:25
>>6
名前化けてた。。。
さらにスマソ。

8 :ヘタレ :2001/11/19(月) 11:22
う〜んと、掲示板のソース見て分からなかったらちょっと
HTTPの勉強たりないかなと思いますが・・・
(僕も十分勉強不足ですがw)
---------------
POST 〜略〜
〜中略〜
Referer:〜略〜
Content-Length:(送信サイズ)submit=書き込む〜以下略〜
---------------
っておくればおっけぇですWinsockベースで作ってるため、それぞれのコンポでどうするかは
よく分かりませんw
てか、クッキーって関係ある?^^;;

9 :厨房もじらー :2001/11/20(火) 04:34
>>8
フォローありがとうございますm(_ _)m
いや、実はまだMoz2chは書きこみとか実装してないので
まだ調べてないんで、実は全然わかってないですが
>>3の資料で
> 書き込みするときには、クッキーを送ってやる。
って書いてあったので、クッキーで送るんだろうな、と
漠然に思ってただけでした。> HTTPの勉強たりないかなと思いますが・・・
ええ、まあ(藁
漏れの場合HTTPの知識なくてもいけそうだったので。。。
(Mozillaに頼りっきり(藁

10 :AMG :2001/11/22(木) 00:34
ども。
Gickoブラウザの書き込み部分をDelphi+WinInetに移植しました。
私はWinInet派なので、Gichoは参考になりました。
2ch時刻の「fTime」は、各自取得してください(空でも書き込めましたが)。インデントが消える予感…。-----------------------------------procedure TForm1.Button1Click(Sender: TObject);
const
UserAgent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)';
var
hSession, hConnect, hRequest: HINTERNET;
Server: array[0..127] of Char;
Cgi: array[0..255] of Char;
Refer: array[0..255] of Char;
fSubmit, fFrom, fMail,
fMessage, fBBS, fKey, fTime: string;
fData: array[0..4095] of Char;begin
{送信内容設定}
//送信先サーバ名
Server := 'pc.2ch.net';
//送信先CGI
Cgi := 'test/bbs.cgi';
//送信データ
fSubmit := '書き込む';
fFrom := '名無しさん';
fMail := 'sage';
fMessage := '書き込みテスト';
fBBS := 'tech';
fKey := '1005282763';
fTime:=''; //fTime := '1006355802'; StrPCopy(fData, Format('submit=%s&FROM=%s&mail=%s&MESSAGE=%s&bbs=%s&key=%s&time=%s',
[fSubmit, fFrom, fMail, fMessage, fBBS, fKey, fTime]));
//リファー
StrPCopy(Refer, Format('http://%s/%s?bbs=%s&key=%s',[Server, Cgi, fBBS, fKey]));
{書き込み}
try
hSession := InternetOpen(PChar(UserAgent), INTERNET_OPEN_TYPE_PRECONFIG,
nil, nil, 0);
hConnect := InternetConnect(hSession, @Server, INTERNET_DEFAULT_HTTP_PORT,
nil, nil, INTERNET_SERVICE_HTTP, 0, 1);
hRequest := HttpOpenRequest(hConnect, 'POST', @Cgi, nil, @Refer, nil,
INTERNET_FLAG_RESYNCHRONIZE, 1);
HttpSendRequest(hRequest, nil, 0, @fData, SizeOf(fData)); finally
InternetCloseHandle(hSession);
InternetCloseHandle(hConnect);
InternetCloseHandle(hRequest);
end;
end;----------------------------------------

11 :AMG :2001/11/22(木) 00:35
やっぱりインデントが消えましたか。適宜改良してください。

12 :AMG :2001/11/22(木) 00:57
ちょびっと修正。
-----------------------------------procedure TForm1.Button1Click(Sender: TObject);
const
UserAgent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)';
var
hSession, hConnect, hRequest: HINTERNET;
Server: array[0..127] of Char;
Cgi: array[0..255] of Char;
Refer: array[0..255] of Char;
fSubmit, fFrom, fMail,
fMessage, fBBS, fKey, fTime: string;
fData: array[0..4095] of Char;begin
{送信内容設定}
//送信先サーバ名
Server := 'pc.2ch.net';
//送信先CGI
Cgi := 'test/bbs.cgi';
//送信データ
fSubmit := '書き込む';
fFrom := '名無しさん';
fMail := 'sage';
fMessage := '書き込みテスト';
fBBS := 'tech';
fKey := '1005282763';
fTime:=''; //fTime := '1006355802';StrPCopy(fData, Format('submit=%s&FROM=%s&mail=%s&MESSAGE=%s&bbs=%s&key=%s&time=%s',
[fSubmit, fFrom, fMail, fMessage, fBBS, fKey, fTime]));
//リファー
StrPCopy(Refer, Format('http://%s/%s?bbs=%s&key=%s',[Server, Cgi, fBBS, fKey]));
{書き込み}
hSession := InternetOpen(PChar(UserAgent), INTERNET_OPEN_TYPE_PRECONFIG,
nil, nil, 0);
hConnect := InternetConnect(hSession, @Server, INTERNET_DEFAULT_HTTP_PORT,
nil, nil, INTERNET_SERVICE_HTTP, 0, 1);
hRequest := HttpOpenRequest(hConnect, 'POST', @Cgi, nil, @Refer, nil,
INTERNET_FLAG_RESYNCHRONIZE, 1);try
HttpSendRequest(hRequest, nil, 0, @fData, SizeOf(fData));finally
InternetCloseHandle(hSession);
InternetCloseHandle(hConnect);
InternetCloseHandle(hRequest);
end;
end;----------------------------------------

13 :新人 :2001/11/22(木) 19:56
書きこみ処理のCのソースきぼーん

14 :名無しさん :2001/11/22(木) 22:37
>>13
printf("%s","逝ってヨシ");

15 :新人 :2001/11/22(木) 22:50
>>14
なんでやねん ゴルァ!

16 :名無しさん :2001/11/23(金) 00:52
うん、つまり、14は子プロセスなんだよ。で、stdoutはパイプ扱いになっていて、
これを受け取った親プロセスが、2chのとあるスレに「逝ってヨシ」とクソレス
するわけだ。fork()と、パイプの扱い、および待ち受けている親プロセスの事を
考えなければ、まぁ、書き込み処理のソースの簡潔なる一部分と言っても
いいんじゃないかな?

17 :新人 :2001/11/23(金) 01:51
Gickoのソースは見たけど、Gickoでは書きこみできないんだYO!
書きこみできるソースキボン

18 :AMG :2001/11/23(金) 14:53
>>17
できますよ。できるからDelphiに移植したんですよ。
実際の書き込み処理は、GickoViewer.cppの
bool GViewer::post_res(const char* name, const char* mail, char* mes)
で行っています。

19 :新人 :2001/11/23(金) 20:28
>>18
私の環境ではできないのですよ。
IEで「クッキーをONにしてちょ」エラーが出るからでしょうか?
クッキーを送らないとダメなのかな?

20 :ヘタレ :2001/12/03(月) 18:21
クッキー必要でした(笑
たしかヘッダに
Cookie: Name=&Mail=;
ってつけたら書けたような・・・

21 :ヘタレ :2001/12/03(月) 18:25
あ、
Cookie: NAME=&MAIL=;
かな?
とりあえず、クッキーは受け取ってるよってことで
NAME欄、MAIL欄を埋める必要はないみたい

8KB
新着レスの表示

スレッドリストへ戻る 全部 前100 次100 最新50

0ch BBS 2004-10-30