■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50

monazilla Part 5

436 :デフォルトの名無しさん :2006/04/10(月) 17:30:40
あ、同じかどうか判定して・・・って意味でw

437 :デフォルトの名無しさん :2006/04/12(水) 03:17:45
 ゙lliii,,,,,,,,,,,,,      llliiiii,,     lllii,,,,、   lll,,
  .,,ill!!!!゙゙゙゙゙       .'lllll°  .lllii,, ゙!llll    'lllllii
  .”  : : :           lllll     ゙゙lllll      .,illl!
lii _,,iiilllll゙゙゙!!liii,,      !lll|   .'llii .     .,illll
lllllll!゙°  .'lllll      ゙llll,,,,,iiiiill!!!!!l      ,,ill!゙         :
..゙゙゜     .,lllll    ..,,,iiil!!!゙゙゙″       .,illllilllllllliii,,      ,,ill
       ,lllll゜  ,,iil!l゙°         ,,illll!゙° 'lllll     ,,ill!
      ,,illlll° .lll!°          ,illl!゙`   .llll|   .,,illll
    ..,,,iill!!°  .゙!lii,,_      _、  iilll!゙     .lllll,,,,,,,,iiill!!゙
 _,,,,iiil!!゙゙’      ゚゙゙!!!!!lllllllllll!!!!!!!!  '!!l°     .゙゙゙!!!!゙゙゙

438 :デフォルトの名無しさん :2006/04/12(水) 15:59:42
>>435
うん、そうした。
でもなんでこんな仕様になってるのやら。

439 :デフォルトの名無しさん :2006/04/12(水) 23:55:14
RSS配信開始で新しいプロジェクトがいっぱい出てくる予感




・・・monazillaとは関係ないところで・・・

440 :デフォルトの名無しさん :2006/05/09(火) 21:44:21
t

441 :デフォルトの名無しさん :2006/05/16(火) 18:20:34 BE:7466483-
monazillaを引き継いでみる。

442 :デフォルトの名無しさん :2006/05/16(火) 18:41:41 BE:7466483-
monazillaプロジェクト+aの勢いで

443 :デフォルトの名無しさん :2006/05/16(火) 18:45:14
>>66
いるYO!

444 :デフォルトの名無しさん :2006/05/16(火) 21:43:14 BE:9955384-
名称は「Monazila Japan」に決定。

445 :c⌒っミ `Д)っφ ◆CaKkuEV3EI :2006/05/24(水) 23:00:30 BE:2200872-#
monazilla
http://info.2ch.net/wiki/pukiwiki.php?monazilla
ページが刷新しました。
http://qb5.2ch.net/test/read.cgi/operate/1132069137/134-n
http://qb5.2ch.net/test/read.cgi/operate/1131503902/72-n

従来のページはこちらに移動です。
monazilla/develop
http://info.2ch.net/wiki/pukiwiki.php?monazilla%2Fdevelop

446 :デフォルトの名無しさん :2006/05/25(木) 01:03:41
otu

447 :デフォルトの名無しさん :2006/05/26(金) 18:26:56
http要求ヘッダ例
GET /newsplus/subject.txt HTTP/1.0
Accept-Encoding: gzip
Host: news2.2ch.net
User-Agent: Monazilla/1.00
Connection: close

ttp://age.s22.xrea.com/talk2ch/



2ちゃんのスレッドを取得するプログラムをC#で作ろうとしているんですが
ログを受信する際、こういったヘッダ情報は送信する必要はありますか?
以前試したテストプログラムではUser-AgentやAccept-Encodingは特に設定しなくても
問題なくデータが取得できてしまったんですが・・・

448 :stream ◆PNstream2s :2006/05/26(金) 18:51:22 BE:555033986-#
>>447
datファイルは特に規制かけてないみたいなので
HTTPの仕様に沿った要求を行えば特に問題ないですね。

ただ、さまざまな理由で規制がかけられないとは限らないんで
User-Agent はMonazillaを名乗っておいたほうがよさげ。

さすがに Accept-Encoding: gzip 無しが規制されるとは思えないけど、
C#って.NET2.0なら自動でgzipを展開してくれる機能があるから
それを利用して2chの負担を減らそう。

ちなみに
offraw.cgi はgzip必須だったような。
read.cgi はUser-Agent必須だったような。

449 :447 :2006/05/26(金) 19:02:37
>>448
ご指摘ありがとうございます。

> C#って.NET2.0なら自動でgzipを展開してくれる機能があるから
> それを利用して2chの負担を減らそう。

C#でgzipの圧縮・解凍ができるとは知りませんでした(汗
早速調べてみます。

ところでgzipを使ったときもログの差分取得は可能でしょうか?
そもそもgzipを使ってログを圧縮しているなら、わざわざ差分取得しなくても
鯖には大した負担はかからないでしょうか?

450 :デフォルトの名無しさん :2006/05/26(金) 19:10:24
今gzip圧縮ってしてるの?
転送量よりもCPU負荷の方を軽減したいって感じだったと思うけどうるおぼえ。

451 :デフォルトの名無しさん :2006/05/26(金) 19:44:35
Content-RangeとAccept-Encoding:gzipを同時に指定すると、
httpの意味上からは、「gzip済みのdatファイル」の途中から
しか送ってくれないので役に立たない。

452 :デフォルトの名無しさん :2006/05/27(土) 00:43:57
>>450
うろおぼえ が正しいんじゃなかったか?

>>451
初回だけgzipで取れって事?

453 :447 :2006/05/27(土) 00:54:09
>>451
その差分に関して何ですが、

ttp://age.s22.xrea.com/talk2ch/#get

によりますと、

 DAT差分を取得
 要求ヘッダに次の項目を追加する
 If-Modified-Since: リモートDATの最終更新時刻(値は応答ヘッダのLast-Modifiedを調べる)
 Range: bytes=ローカルDATのファイルサイズ-
 ※If-Modified-SinceとDateヘッダの値は、RFC1123形式で表される時刻。例えば、Fri, 30 Mar 2001 22:35:45 +0900

とのことです。そこで次のようなプログラムを記述したのですが、

System.Net.WebClient wc = new System.Net.WebClient();
wc.Headers.Add("User-Agent", "Monazilla/1.00 (mytool/1.00)");
wc.Headers.Add("If-Modified-Since", "Fri, 26 May 2006 10:44:35 +0900");

System.IO.Stream st = wc.OpenRead("http://pc8.2ch.net/tech/dat/1057329161.dat");

System.Text.Encoding enc = System.Text.Encoding.GetEncoding("Shift_JIS");
System.IO.StreamReader sr = new System.IO.StreamReader(st, enc);
string html = sr.ReadToEnd();
sr.Close();
st.Close();
Console.WriteLine(html);

なぜか実行しようとするとエラーが発生してしまいます。そこで
wc.Headers.Add("If-Modified-Since", "Fri, 26 May 2006 10:44:35 +0900");
のところをコメントアウトすると問題なく実行してログを取得してくれます。
差分取得するときの要求ヘッダの与え方に何か間違い等はありますか(´・ω・`)?

454 :デフォルトの名無しさん :2006/05/27(土) 01:07:51
HTTP-date = rfc1123-date | rfc850-date | asctime-date
rfc1123-date = wkday "," SP date1 SP time SP "GMT"
rfc850-date = weekday "," SP date2 SP time SP "GMT"
asctime-date = wkday SP date3 SP time SP 4DIGIT
date1 = 2DIGIT SP month SP 4DIGIT
; day month year (e.g., 02 Jun 1982)
date2 = 2DIGIT "-" month "-" 2DIGIT
; day-month-year (e.g., 02-Jun-82)
date3 = month SP ( 2DIGIT | ( SP 1DIGIT ))
; month day (e.g., Jun 2)
time = 2DIGIT ":" 2DIGIT ":" 2DIGIT
; 00:00:00 - 23:59:59
wkday = "Mon" | "Tue" | "Wed"
| "Thu" | "Fri" | "Sat" | "Sun"
weekday = "Monday" | "Tuesday" | "Wednesday"
| "Thursday" | "Friday" | "Saturday" | "Sunday"
month = "Jan" | "Feb" | "Mar" | "Apr"
| "May" | "Jun" | "Jul" | "Aug"
| "Sep" | "Oct" | "Nov" | "Dec"

455 :stream ◆PNstream2s :2006/05/27(土) 02:00:12
>>450
ほとんどの鯖でgzip圧縮してるよ

>>453
おかしいですねえ。

Headers プロパティは、WebClient が要求で送信するヘッダー情報を含む WebHeaderCollection インスタンスを格納します。これは無制限のヘッダーのコレクションであるため、HttpWebRequest などの WebRequest の子孫で制限されるヘッダーを設定できます。

と書いてあるんですけど、例えばRangeヘッダーでも同じことが起こります。これは.NET Frameworkのバグな気がします。

456 :447 :2006/05/27(土) 02:03:05
>>455
> おかしいですねえ。
> Headers プロパティは、WebClient が要求で送信するヘッダー情報を含む WebHeaderCollection インスタンスを格納します。これは無制限のヘッダーのコレクションであるため、HttpWebRequest などの WebRequest の子孫で制限されるヘッダーを設定できます。
> と書いてあるんですけど、例えばRangeヘッダーでも同じことが起こります。これは.NET Frameworkのバグな気がします。

そんなことがあるんですか(;´Д`)・・・

457 :stream ◆PNstream2s :2006/05/27(土) 11:18:07
まあ、HttpWebRequest/HttpWebResponseを使えってことなんですかねえ。
If-Modified-Since にDateTime構造体を突っ込むことが出来たりするので
ちょっと手の込んだHTTPリクエストを行う場合はWebClientより便利だと思いますよ。

458 :デフォルトの名無しさん :2006/05/27(土) 11:25:52
etag保存しといてif-none-matchを仕掛けた方がいいという話もある

459 :stream ◆PNstream2s :2006/05/27(土) 16:31:16
新しい書き込みの仕様

レス
FROM= ←名前
mail= ←メール欄
MESSAGE= ←本文
bbs= ←板のディレクトリ名。operateとかtechとか
time= ←現在時刻より小さい値を適当に。1を送っておけばよい
key= ←スレッドキー
hana=mogera ←追加。常にmogeraを送っとけばいいのかな。


Cookieは不要。

460 :stream ◆PNstream2s :2006/05/27(土) 16:35:43
スレ立て
subject= ←スレッドのタイトル
FROM= ←名前
mail= ←メール欄
MESSAGE= ←本文
bbs= ←板のディレクトリ名。operateとかtechとか
time= ←現在時刻より小さい値を適当に。1を送っておけばよい
hana=mogera ←追加。常にmogeraを送っとけばいいのかな。

461 :stream ◆PNstream2s :2006/05/27(土) 16:36:37
Cookieは不要と書きましたが、sports2はCookie無しじゃ書けないので
Cookieも今までどおり必要ですね

462 :デフォルトの名無しさん :2006/05/27(土) 17:28:01
>>453
>wc.Headers.Add("If-Modified-Since", "Fri, 26 May 2006 10:44:35 +0900");

RFC 2616 Hypertext Transfer Protocol -- HTTP/1.1

3.3 Date/Time Formats
3.3.1 Full Date

  All HTTP date/time stamps MUST be represented in Greenwich Mean Time
  (GMT), without exception.

463 :デフォルトの名無しさん :2006/05/27(土) 17:33:44
クッキー認証、クッキーの必要なサーバーなら出る
sports鯖とかhttp://sports2.2ch.net/wc/

http://pc8.2ch.net/test/read.cgi/tech/1057329161/

459 :stream ◆PNstream2s :2006/05/27(土) 16:31:16
新しい書き込みの仕様
レス
FROM= ←名前
mail= ←メール欄
MESSAGE= ←本文
bbs= ←板のディレクトリ名。operateとかtechとか
time= ←現在時刻より小さい値を適当に。1を送っておけばよい
key= ←スレッドキー
hana=mogera ←追加。常にmogeraを送っとけばいいのかな。
Cookieは不要。


460 :stream ◆PNstream2s :2006/05/27(土) 16:35:43
スレ立て
subject= ←スレッドのタイトル
FROM= ←名前
mail= ←メール欄
MESSAGE= ←本文
bbs= ←板のディレクトリ名。operateとかtechとか
time= ←現在時刻より小さい値を適当に。1を送っておけばよい
hana=mogera ←追加。常にmogeraを送っとけばいいのかな。


461 :stream ◆PNstream2s :2006/05/27(土) 16:36:37
Cookieは不要と書きましたが、sports2はCookie無しじゃ書けないので
Cookieも今までどおり必要ですね

464 :447 :2006/05/27(土) 17:36:55
>>462
> >wc.Headers.Add("If-Modified-Since", "Fri, 26 May 2006 10:44:35 +0900");
> RFC 2616 Hypertext Transfer Protocol -- HTTP/1.1
> 3.3 Date/Time Formats
> 3.3.1 Full Date
>   All HTTP date/time stamps MUST be represented in Greenwich Mean Time
>   (GMT), without exception.

wc.Headers.Add("If-Modified-Since", "Fri, 26 May 2006 10:44:35 GMT");

のようにGMTに変えてみましたが依然エラーが返されるようです。
もしかしたら"If-Modified-Since"の部分が間違っているんでしょうか?

465 :デフォルトの名無しさん :2006/05/27(土) 17:38:27
すまん、誤爆した

466 :447 :2006/05/27(土) 17:56:43
>>457
HttpWebResponse/HttpWebRequestを使ってみましたが↓
やはり"If-Modified-Since"のヘッダー情報を追加すると
エラーが生じますね・・・
.Netのバグではないような気もします・・・

//HttpWebRequestの作成
System.Net.HttpWebRequest webreq =
(System.Net.HttpWebRequest)
System.Net.WebRequest.Create("http://pc8.2ch.net/tech/dat/1057329161.dat");

//サーバーからの応答を受信するためのHttpWebResponseを取得
System.Net.HttpWebResponse webres =
(System.Net.HttpWebResponse) webreq.GetResponse();

webres.Headers.Add("User-Agent", "Monazilla/1.00 (mytool/1.00)");
webres.Headers.Add("If-Modified-Since", "Fri, 26 May 2006 10:44:35 +0900");

System.Text.Encoding enc =
System.Text.Encoding.GetEncoding("shift-jis");
//応答データを受信するためのStreamを取得
System.IO.Stream st = webres.GetResponseStream();
System.IO.StreamReader sr = new System.IO.StreamReader(st, enc);
//受信して表示
string html = sr.ReadToEnd();
Console.WriteLine(html);

//閉じる
sr.Close();

467 :stream ◆PNstream2s :2006/05/27(土) 18:33:23
>>466
いや、HttpWebRequest/HttpWebResponseの場合はHeaders.Add("If-Modified-Since",○○)
ってやっちゃ駄目なのは仕様。IfModifiedSinceプロパティを使う。

んでWebClientはHeaders.Add("If-Modified-Since",○○)ってやっていいはずなんだけど
実際は出来ないからバグかもしれない、ってことです。

468 :447 :2006/05/27(土) 19:03:48
>>467
あ、そういうことでしたか。早速IfModifiedSinceプロパティを使わせていただきました。

System.Net.HttpWebRequest webreq =
(System.Net.HttpWebRequest)
System.Net.WebRequest.Create("http://pc8.2ch.net/tech/dat/1057329161.dat");

webreq.IfModifiedSince = new DateTime(2006, 5, 26, 0, 0, 0);

System.Net.HttpWebResponse webres =
(System.Net.HttpWebResponse) webreq.GetResponse();

System.Text.Encoding enc =
System.Text.Encoding.GetEncoding("shift-jis");
System.IO.Stream st = webres.GetResponseStream();
System.IO.StreamReader sr = new System.IO.StreamReader(st, enc);

string html = sr.ReadToEnd();
Console.WriteLine(html);
sr.Close();

コンパイルも通り、問題なく実行もできました。
が、なぜか差分データが取得できませんね・・・
2006年5月26日移行に書き込まれたデータを取得しようとしたんですが全データが
取得されてしまうようです・・・

関係ない話ですが、もし可能ならレス番号を指定してそれ移行のデータを要求できれば
便利そうなんですが2ちゃんではそういうものには対応していないんですかね。

469 :デフォルトの名無しさん :2006/05/27(土) 20:45:54
すごい惨めな気持ちになったぞ!
どうしてくれる!

470 :stream ◆PNstream2s :2006/05/27(土) 20:51:15
>>468
If-Modified-Since ヘッダって言うのは「この時間よりあとに未更新だったら送信しないでね」って意味だから
差分データを取得するにはさらに Range ヘッダを使わなければいけない。

HttpWebRequestの場合はAddRangeメソッドを使う。

471 :デフォルトの名無しさん :2006/05/27(土) 20:52:26
>>468
> Range: bytes=ローカルDATのファイルサイズ-
はどこ行ったんだよ

472 :デフォルトの名無しさん :2006/05/27(土) 20:52:46
かぶったorz

473 :デフォルトの名無しさん :2006/05/27(土) 21:44:28
>>468
>関係ない話ですが、もし可能ならレス番号を指定してそれ移行のデータを要求できれば
>便利そうなんですが2ちゃんではそういうものには対応していないんですかね。

2000年8月危機の際にオープンソースとなり有志の手で改良された旧版 read.cgi には
raw モードとしてその機能が実装されたが、現在の read.cgi には実装されてない。

474 :デフォルトの名無しさん :2006/05/27(土) 21:55:15
2001年ではなくて?

475 :447 :2006/05/27(土) 22:18:47
>>470-471
webreq.AddRange((int) fileSize);

と指定することで差分データ取得できました\(^o^)/
ちなみにIf-Modified-Sinceヘッダをつけてもつけなくても、
またでたらめな時間や未来の時間にしても取得する差分データ
に変わりはありません。AddRangeさえ指定すればIf-Modified-Sinceは
特に指定する必要は無いんでしょうか?

>>473
便利な機能は無くなってしまったんですか(´・ω・`)
あぼ〜んがあった場合などでも問題なく差分データを取得できると
思われるので重宝すると思うんですが・・・

476 :デフォルトの名無しさん :2006/05/27(土) 22:23:43
鯖の方でいろいろやらなきゃいけないし、
FOXがコードをDSO向けにリファインした時に無くした予感

477 :デフォルトの名無しさん :2006/05/28(日) 00:27:05
ハナモゲラ絶対必要なの?

478 :デフォルトの名無しさん :2006/05/28(日) 06:48:32
あぼーんがあったときに、ローカルのデータを上書きしてくれるのでありがたい

479 :デフォルトの名無しさん :2006/05/28(日) 13:48:42
例えばレス479まで取得しているスレでリロードすると、
479までのサイズでRange〜とするわけだけど、その時に
新規投稿が無かった場合、.datファイルにはRange〜で指定した
部分は存在しないので406エラーとなる。
そこで、If-Modified-Sinceを付ければ、新規投稿が無い時には
304 Not Modified で新規投稿が無いことがわかる。

406を新規投稿無しと解釈すれば良いじゃないか、とも思えるが、
レスが削除された場合等にも、.datファイルのサイズが既得分より
減って406が出うるので、それと区別ができなくなってしまう。

ブラウザを配布するとかではなくて、個人でどうにかしたいだけなら
お好みでどうぞ、とも言えるが。

480 :447 :2006/05/28(日) 15:51:01
>>479
なるほど、If-Modified-Sinceを活用するとあぼーんの検知もできるようになるということですね。
ちなみに先ほど各種条件を試してみましたところ、

新規投稿がなく、If-Modified-Sinceを指定しなかった場合
416 RequestedRangeNotSatisfiable
が返され、

新規投稿が無く、If-Modified-Sinceを指定した場合は
304 Not Modified
が返されました。

あぼ〜んがあったと想定するためRange〜を100バイトほど多めに指定し、
If-Modified-Sinceの時刻を過去に戻したところ(あぼーん更新で更新時刻が先に変更されたとシミュレートするため)
416 RequestedRangeNotSatisfiable
が返されました。

細かい違いはありますが、
416が返された場合はあぼ〜んがあったと推測し、全ログを取得し直すようにすればいいわけですね?

481 :デフォルトの名無しさん :2006/05/28(日) 16:18:35
あ、416だった(ハズイ

482 :デフォルトの名無しさん :2006/05/28(日) 16:26:38
そっすね、全取得になるかと。
ブラウザとしてだと、自動再取得の前に、何が削除されたか
知っておきたい、という需要もあるけどね。

483 :デフォルトの名無しさん :2006/05/28(日) 16:32:30
Range指定にIf-Modified-Sinceを付加する理由として

ひとつは、HTTP/1.1の旧仕様では416が規定されておらず
Rangeが範囲外を指定しているとRangeを無視して200を返していたというのがある。
少なくとも、このスレの初代が出来た頃の2chのapache(1.x)はそうだったし
互換板等ではまだそういう鯖も存在するかもしれない。

もうひとつは、
あぼーん検出のために末尾の'\n'等数バイトを含めてRange指定で取得すると
未更新の場合でもファイルの読み書きが発生して
鯖に本来不要な負荷をかけてしまうという点がある。
If-Modified-Sinceを併用することで、これを防ぐ。

484 :447 :2006/05/29(月) 19:29:37
2ちゃんのスレッドを取得したときに考えられるケースとして、

a) 正常に取得
b) URLを間違えてしまった
c) すでに1000を超えていた
d) すでに過去ログとして倉庫落ちしてしまった
e) 人大杉

の5通りくらいあるかと思います。いずれも帰ってくるステータスコードは
200 HTTP_OKなんですがみなさんどうやってそれぞれのケースを判別されてますか?

485 :デフォルトの名無しさん :2006/05/29(月) 20:25:21
それは、
本当は302が返っているのに、リダイレクトされているだけ

486 :デフォルトの名無しさん :2006/05/31(水) 23:54:51
c)は違うだろ(まだdat落ちしてなければ)

487 :stream ◆PNstream2s :2006/06/01(木) 08:21:08
>>484
b)
AllowAutoRedirect = false
datファイルが302 Found が返ってくるかどうか。
d)と比べたいならread.cgiにもアクセスする。

c)
datファイルが1000行あるか調べる

d)
AllowAutoRedirect = false
datファイルが302 Found が返ってくるかどうか。
b)と比べたいならread.cgiにもアクセスする。

e)
datファイルで人大杉?

488 :デフォルトの名無しさん :2006/06/03(土) 19:46:04
ttp://jbbs.livedoor.jp/bbs/read.cgi/computer/26999/1149328392/

したらばのdatってどう取得したらええんやろ(´・ω・`)?

489 :stream ◆PNstream2s :2006/06/03(土) 20:17:03
ProxomitronとかEtherealとかつかって、既存の2chブラウザが何やっているかを把握すべし

490 :デフォルトの名無しさん :2006/06/03(土) 22:35:17
>>488
> ttp://jbbs.livedoor.jp/bbs/read.cgi/computer/26999/1149328392/

んなもん

ttp://jbbs.livedoor.jp/computer/dat/26999/1149328392.dat

とでもすればいいんじゃね〜か、と思っていたが意外と違うもんだな・・・

491 :stream ◆PNstream2s :2006/06/03(土) 22:44:03
Jane Nida で確認してみた

ttp://jbbs.livedoor.jp/bbs/rawmode.cgi/computer/26999/1149328392/

レス番指定も
ttp://jbbs.livedoor.jp/bbs/rawmode.cgi/computer/26999/1149328392/10-20

492 :デフォルトの名無しさん :2006/06/04(日) 01:29:32
>>491
> レス番指定も
> ttp://jbbs.livedoor.jp/bbs/rawmode.cgi/computer/26999/1149328392/10-20

うおっ!めちゃくちゃ便利じゃん♪
2ちゃんもしたらばみたいな方式だとありがたいんだが。

493 :stream ◆PNstream2s :2006/06/04(日) 01:32:26
>>492
CGIが動く負荷とdatファイルを読み出す負荷は10〜100倍ぐらい違うんだよ

494 :デフォルトの名無しさん :2006/06/04(日) 01:40:46
>>493
なるほど、2ちゃん規模の掲示板だと2ちゃん方式は必要悪というわけなのか。

495 :デフォルトの名無しさん :2006/06/04(日) 03:05:00
因みに過去ログは
http://jbbs.shitaraba.com/bbs/read.cgi/computer/10298/1071738986/

http://jbbs.livedoor.jp/computer/10298/storage/1071738986.html

htmを自前でDatに変換ね

496 :デフォルトの名無しさん :2006/06/04(日) 06:31:07
したらばはdat公開してないよ
IPとかもdatに保存してあるから

497 :デフォルトの名無しさん :2006/06/04(日) 15:09:36
> IPとかもdatに保存してあるから

((((((;゚Д゚))))))ガクガクブルブル

498 :デフォルトの名無しさん :2006/06/05(月) 00:08:49
そんなに怖がることはないだろ

499 :デフォルトの名無しさん :2006/06/06(火) 23:37:48
>>463
いまはsubmitってチェックしてないのかな?
間違えて「書き込む」をUTF-8でエンコードしてたけど書き込めてた。

>>455
GET /newsplus/subject.txt HTTP/1.0
Accept-Encoding: gzip
Host: news2.2ch.net
User-Agent: Monazilla/1.00
Connection: close

と、「と〜く2ちゃんねる」通りにリクエストしても
datファイルはプレーンテキストで送られてくるのですが、
どの鯖ならgzipで返ってくるんだろう。
リクエストの仕方が間違ってる?

おかげで、gzipでdatを受信した場合の動作確認ができない。
普通の応答は解凍できてるから、たぶん大丈夫だとは思うんだけど・・・。


500 :デフォルトの名無しさん :2006/06/07(水) 03:05:38
HTTP/1.1?

501 :デフォルトの名無しさん :2006/06/07(水) 03:11:40
news2?

502 :stream ◆PNstream2s :2006/06/07(水) 14:37:34
telnetしてみた

GET /newsplus/subject.txt HTTP/1.0
Host: news2.2ch.net
Accept-Encoding: gzip


HTTP/1.1 200 OK
Date: Wed, 07 Jun 2006 05:36:10 GMT
Server: Apache/2.0.58
Last-Modified: Wed, 22 Mar 2006 02:11:13 GMT
ETag: "16310f0-0-40f8be7f05240"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip                ←
Content-Length: 20
Connection: close
Content-Type: text/plain; charset=shift_jis


ただ単に中身が無いからgzipになってないように見えるだけでは?

503 :499 :2006/06/09(金) 03:18:20
>>499はと〜く2ちゃんねるのをコピペしただけなので、
実際には運営情報板とかでテストしてます。

>>502
おお、telnetで試してみたらgzipで返ってきました。
でも、全く同じメッセージ送ってみてもWinsock(2.0)使った
自作プログラムではプレーンテキストが返ってくる。
う〜ん、何が違うんだろう。


504 :デフォルトの名無しさん :2006/06/21(水) 16:52:14
> User-Agent: Monazilla/1.00

ヘッダーにこの情報を記述しなくてもDATが取得できたんだけど
これっておまじない程度のものなの?

505 :デフォルトの名無しさん :2006/06/22(木) 04:40:05
過去ログにさんざん書かれてますよ。

506 :デフォルトの名無しさん :2006/06/22(木) 10:13:56
おなじないって言ってるうちは理解できてないってことだな

507 :デフォルトの名無しさん :2006/06/22(木) 11:53:35
おなじない・・・・

508 :デフォルトの名無しさん :2006/06/22(木) 12:46:30
おなじないヽ(`Д´)ノウワァァン

509 :デフォルトの名無しさん :2006/06/22(木) 13:20:14
かくごしろ

510 :504 :2006/06/27(火) 22:58:57
う〜ん・・・
特にいらないのか( ´・ω・)・・・

511 :デフォルトの名無しさん :2006/06/28(水) 01:52:17
そういえば、NISかなんかがgzipを無効にするとかいうのもあったっけなー。

512 :デフォルトの名無しさん :2006/07/01(土) 20:29:40
Delphi6+Indyで簡易2chブラウザを作っています。
読み、書きはできるようになりましたが、●が書き込みに反映されません。

ちなみに認証方法はttp://kage.monazilla.org/system_DOLIB100.htmlを参考にして、
セッションIDを取得するところまではできています。

・セッションIDの取り出し
IdHTTP1.AllowCookies := False;
IdHTTP1.Request.UserAgent := 'DOLIB/1.00';
IdHTTP1.Request.RawHeaders.Add('X-2ch-UA:'+Myname);
IdHTTP1.Request.Connection := 'close';
Contents.Text:='ID='+LGId+'&PW='+LGPas;
Respons:=IdHTTP1.Post(url, Contents);
Sid := Copy(Respons,pos('=',Respons)+1,length(Respons));
//showmessage(Respons);で'SESSION-ID=Monazilla/1.00:〜〜〜'という文字列が表示されます。
//showmessage(Sid);では'Monazilla/1.00:〜〜〜'
//一番最後の文字は非改行文字であることを確認>>95

・書き込み時postするデータ
IdHTTP1.Request.Referer := SavUrl+ItaUrl;
IdHTTP1.Request.UserAgent := copy(Sid,1,pos(':',Sid)-1) +' ('+Myname+')';
Contents.Text:='bbs='+Ita+'&key='+Key+'&sid='+Sid
+'&time=1&hana=mogera&submit=書き込む&FROM='
+Name+'&mail='+Mail+'&MESSAGE='+Honbun;
Result:=IdHTTP1.Post(url, Contents);

書き込み自体はこれで成功しています。

513 :デフォルトの名無しさん :2006/07/01(土) 20:44:20
Indyのことはわからないから的外れな事いってたら悪いんだけど
URLエンコードはされてる?

514 :512 :2006/07/01(土) 21:15:02
すみません。>>95を見て
Sid := Copy(Respons,pos('=',Respons)+1,length(Respons));

tmp1 := pos('=',Respons)+1;
Sid := Copy(Respons,tmp1,length(Respons)-tmp1);
に変えたのを忘れていました。それでも症状は変わらずです。

>>513
indyの内部で行われているようです。
名前欄の●が○になる以外で書き込んだ内容は正常に反映されていますし。

515 :デフォルトの名無しさん :2006/07/01(土) 22:35:13
確かSID末尾の改行がどうのというところで引っかかっていた人が過去に居たような。

516 :デフォルトの名無しさん :2006/07/01(土) 23:53:56
>>512
>>514
Proxomitronとか、あるいはetherealを使って
流れているデータを見るのが解決の近道

517 :512 :2006/07/02(日) 04:16:31
で、でけたー
Indyのエンコード部分がいろいろとおかしいようなので封印して自前でURLエンコードしたら反映されました
>>513>>515大変参考になりました。ありがとうございます。

518 :デフォルトの名無しさん :2006/08/10(木) 20:05:03
ひどい過疎

519 :デフォルトの名無しさん :2006/08/12(土) 23:49:35
見舞われましたwwwwwwwwwwwwwwwwwwwwww

520 :デフォルトの名無しさん :2006/08/16(水) 17:04:57
IEコンポーネントはVistaでも正常動作するか確認情報ってある?
使ってる人は少なくないと思うがそれらしい話を全く聞かないもんで

521 :デフォルトの名無しさん :2006/08/27(日) 15:14:42
monazilla.org ってどうして更新されなくなってしまったの?

522 :デフォルトの名無しさん :2006/08/30(水) 01:33:58
read.cgi 2006―JavaScriptはCGIの夢を見るか
http://qb5.2ch.net/test/read.cgi/operate/1153819270/749-

まだまだ実験中のやつだけど、ステータスコードが色々ですよ。
302しか想定してないブラが多かったと思うけど、404くらいには対応した方が
この先も色々慌てなくて良いかもよ。

523 :デフォルトの名無しさん :2006/08/30(水) 22:27:23
ステータスが 302 Found → 302 Moved Temporarily になっただけでまともに動かなくなったブラウザもあったぐらいだし
2chブラウザ作者は少しはHTTPを知っててほしい

524 :デフォルトの名無しさん :2006/08/31(木) 13:51:50
実装が面倒

525 :デフォルトの名無しさん :2006/08/31(木) 20:58:22
2ch専用なのにHTTPに準拠する必要はない
速度やサイズや生産性が悪化するだけ

526 :デフォルトの名無しさん :2006/08/31(木) 21:57:59
あとリロードのたびに1バイト読み取るバカ2chブラウザは何とかならないのかね

527 :デフォルトの名無しさん :2006/09/01(金) 01:14:42
>>525
そんな糞プログラムが氾濫してるのか
知らなかった

528 :デフォルトの名無しさん :2006/09/01(金) 04:35:13
2chという糞に合わせなきゃならんからな。
現実はたいへんなのよ。夢だけ語ってたら2chやれませんw

529 :デフォルトの名無しさん :2006/09/01(金) 13:38:47
2chといえどもhttpの上に成り立ってるんじゃないのか

530 :デフォルトの名無しさん :2006/09/01(金) 13:42:22
ただ人大杉とかdat落ちしたとかのエラーは独自だからね。
フォーマットも統一されてないし。

531 :デフォルトの名無しさん :2006/09/01(金) 17:05:45
>>529
それがどうかしたかね。

532 :デフォルトの名無しさん :2006/09/01(金) 20:25:29
>>529
少なくとも昔は違った
今は知らん

533 :デフォルトの名無しさん :2006/09/01(金) 20:30:30
>>532
デマ流すな

で、普通の「まっとうな」2chブラウザは、
2chだけでなく、外部の実況板等の互換板にちゃんと対応している。
それは当然、httpに則っているということ。
もちろん302ではなく404を返すようになっても全然問題ない。

「httpに準拠しなくて良い」なんて書いてるのは
まともな2chブラウザを作ろうとしたことも無い奴のたわごとだから。

534 :デフォルトの名無しさん :2006/09/01(金) 20:39:54
wikipediaより
>準拠(じゅんきょ)とは、合致はしていないが、概ね(準)よりどころとしている事(拠)。

そういうことなら同意するよ

535 :デフォルトの名無しさん :2006/09/01(金) 21:13:46
あんた、おふらうって知ってるかい?

228KB
新着レスの表示

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

0ch BBS 2004-10-30