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

monazilla Part 5

370 :デフォルトの名無しさん :2005/12/31(土) 15:15:15
意図的な作りだとしたら最悪なUIだな・・・w

371 :358 :2005/12/31(土) 15:38:39
あと、まちBBSなどはまだ対応してないです。

>>362
ぜひ使わせていただきます!!

>>369
すいませんわかりにくくて・・・
わかりにくいと言うことは仕様に問題があるってことなので、なおします

372 :委員長 ◆/DABoneCRY :2005/12/31(土) 16:15:57
>371
> わかりにくいと言うことは仕様に問題があるってことなので、なおします
え?
板一覧をクリックでタブが出来て、中は空というのは、開発途中のための
確認のために用意されたワンクッションではなかったの?
タブ等と作成ロジックとDLや描画処理を個別に検証するためだと思ってました。
私の考えが正解とは限らないとか、製作者の自由ですよとか、儀礼的なことは
置いておいて、スレッド一覧に表示されるまでに2アクション必要が正式な仕様だとすると
ちょっとその意図が見えない気がします。
タブだけ作成されて中身がない状態に、ユーザーに与えるメリットが見えてこないと言うか。
私がここまで口出しするのはどうかと思って話しませんでしたが、
全体的には良く出来ていますし、おっしゃる通り、Jane系のインターフェースで
分かりやすくはなっています。
ただ、このままでは、このソフトの存在意義が見えてこない面が気になりました。
ぶっちゃけて言えば「Janeで良いんぢゃないの?」という感じです。
このソフトの求める路線みたいな物が欲しいなと感じました。
そういう面では、ツリーをポイントした時に看板画像がポップアップされるのは
良かったと思います。(パクろうかと思った(^-^; )
画像ポップアップのフェードイン処理もカッコ良かったので、こういう方向で
伸ばしていくのも一つの方法かもしれないですね。
偉そうなレスですが、何かの参考になれば。

373 :委員長 ◆/DABoneCRY :2005/12/31(土) 16:17:15
>372
×タブ等と作成ロジックとDLや描画処理を個別に検証するためだと思ってました。
〇タブ等の作成ロジックとDLや描画処理を個別に検証するためだと思ってました。

374 :デフォルトの名無しさん :2005/12/31(土) 16:34:28
>372
その読みづらい文を何とかしてくれ。

375 :358 あけおめ :2006/01/01(日) 02:43:19
>>372

板の開き方については、自分のJaneの使い方に合わせた感じです。
(あまり深く考えてなかった)

> このソフトの求める路線
この辺は大丈夫なんじゃないかと思ってます。色々やってみたいことがあるので。
わざわざ新しく作るのに今あるものと同じもの作っても意味ないですもんね^^
ただ今のバージョンは「特色ねぇなぁ」と思ってたので、ドキっとしました

> 看板画像 画像ポップアップ
この辺は自分の持ってる方向性みたいなものですね。まだこれだけしかないですが。
こういう部分は書いてて楽しいので、楽しみながらまたーりと続けられたらなぁと。
モチベーションも保てるし。

376 :デフォルトの名無しさん :2006/01/01(日) 23:42:21
>>352の看板ポップアップは面白いね。
今のJaneに組み込みたいけど、Delphiは使えねぇ・・・

C++作のOpenJaneほしい〜!

377 :逆噴射J :2006/01/01(日) 23:43:57
書き込みてすと送信。

378 :逆噴射J ◆lW31l/VtQc :2006/01/02(月) 00:05:56
看板ポップアップが流行しそうや予感。
>>358
俺もパクッていいですか?

379 :358 :2006/01/02(月) 12:08:52
パクッってかまわないですよ ^^
自分もいろんなものを参考にして作ってるので・・・

380 :逆噴射J :2006/01/03(火) 23:07:24
書き込みてすと送信。

381 :逆噴射J :2006/01/03(火) 23:15:46
書き込みてすと送信。

382 :逆噴射J ◆lW31l/VtQc :2006/01/03(火) 23:17:20
失礼。間違えて送信してしまいました(;´Д`)
>>379
感謝です。

383 :デフォルトの名無しさん :2006/01/04(水) 00:29:28
書き込みテストはここがいいんじゃない?

[test] 書き込みテスト 専用スレッド 55 [テスト]
http://qb5.2ch.net/test/read.cgi/operate/1136094372/

こことかも
superfree
http://2chplus.2ch.net/superfree/

384 :デフォルトの名無しさん :2006/01/05(木) 14:19:48
あー、、懐かしい流れだなー、、

385 :デフォルトの名無しさん :2006/01/08(日) 17:19:47
スキン標準化プロジェクト
ttp://dtao.cside.com/stdskin/

これ守ってる人いる?

386 :デフォルトの名無しさん :2006/01/08(日) 21:49:41
一応守ってるよ。

VBだったらRegExオブジェクトで正規表現扱えるし

387 :デフォルトの名無しさん :2006/01/08(日) 22:00:19
何だか偉そうなサイトだな

388 :デフォルトの名無しさん :2006/01/08(日) 23:20:09
偉いんだよ。

389 :逆噴射J ◆lW31l/VtQc :2006/01/08(日) 23:24:29
>>383
サンクスです。亀レス申し訳ないです。

390 :デフォルトの名無しさん :2006/01/23(月) 21:42:13
ほっしゅほっしゅ

391 :デフォルトの名無しさん :2006/02/05(日) 15:06:03
2ちゃんのあぼーん検出って前回読んだ1バイト前から読んで、
改行コードじゃなかったら、あぼーんと判定するけど、
したらばみたいにhtmlでしか取れないスレッドのあぼーん判定は
どうやればよいでしょうか?

392 :デフォルトの名無しさん :2006/02/05(日) 18:29:45
仕様も読まずにカキコ
バイト単位で比較してズレてたらあぼんでいいんじゃないかね

393 :デフォルトの名無しさん :2006/02/05(日) 19:18:11
>>391
レス番で範囲指定するしたらばはバイト数で範囲指定する2chのようにあぼーんで
取得範囲がずれる事はないので、気にしない。
したらばで透明処理があったかどうか、あったとしてrawmode.cgiを使った読み込みでも
番号ずれが起こるのかどうかは忘れた。

394 :391 :2006/02/05(日) 22:08:03
>>393
すみません、書き足りませんでした。
一度最初から読んだら、次回は当然続きから読むわけですが、
おっしゃるとおりバイトがずれることはありません。
ただ、続きから読むので前回取り込んだ分のレスのどれかが
サーバー上であぼーんしてても
キャッシュの方はあぼーんでないままになるってことです。
これはそのままでいいのかな。
解決するには常に最初から読むしかなさそうだし。

395 :デフォルトの名無しさん :2006/02/05(日) 23:26:36
>>394
意図は分かってるんだけど、気にしないしかない。
想像通り最初から読み直すのが解決策だけど、
それだけのために毎回読み直すような事は推奨できない。

396 :391 :2006/02/05(日) 23:37:05
サーバーの負荷高めるよりは、あぼーんすべきレスが
そのままになってる方がマシって結論ですね。
しかし、ちゃんとこのスレ見てくれてる人がいて安心。
monazilla.orgはもう動いてないみたいですし・・・

397 :デフォルトの名無しさん :2006/02/05(日) 23:44:58
年末に復活する兆しはあったんだけど、結局頓挫したっぽいね>monazilla
残念

398 :デフォルトの名無しさん :2006/02/18(土) 02:38:16
monazillaの管理人がすみません忙しいですとだけ言い残していなくなって
くれやがったから。
いっそ完全に沈黙してくれてたら無視して話を進めることもできたのに。

399 :デフォルトの名無しさん :2006/02/18(土) 11:14:10
虚栄心だけは人一倍だよね。

400 :デフォルトの名無しさん :2006/02/20(月) 11:42:43
2ch_Xって全部の板に導入されてるの?

401 :デフォルトの名無しさん :2006/02/20(月) 14:32:43
今どんなブラウザがあるかって、まとめてるサイトあるかな?
仮仮仮仮と2ch browser project MacOSXくらいしか知らんのだけど、
他にあれば教えてください。。。

402 :デフォルトの名無しさん :2006/03/09(木) 01:51:36
http://pc.2ch.net/tech/kako/981/981726544.html
のようにhtmlとして保存されている過去ログは全て
http://pc.2ch.net/tech/kako/981/981726544.dat.gz
のようにgzipされたdatも対に存在していると考えて良いのかな?

403 :デフォルトの名無しさん :2006/03/09(木) 02:12:10
確か、圧縮されていない場合もあったはず。(特に最近の分?)

404 :デフォルトの名無しさん :2006/03/09(木) 09:05:13
>>402
http://qb5.2ch.net/operate/kako/1099/10991/1099135298.dat
はあるけど
http://qb5.2ch.net/operate/kako/1099/10991/1099135298.dat.gz
はない模様。

405 :402 :2006/03/09(木) 09:51:08
というと非圧縮でもdatファイル自体は必ずあるのかな?

406 :委員長 ◆/DABoneCRY :2006/03/09(木) 21:02:24
>405
そうとは限らなかったように思います。
datをまず取りに行き、なければ、.dat.gzで試みるという感じになるかと
思います。


407 :デフォルトの名無しさん :2006/03/09(木) 21:15:29
逆じゃね?

408 :委員長 ◆/DABoneCRY :2006/03/09(木) 22:00:50
ああ、逆の方が良いかもしれない。
.dat.gzを後付け対応したA Boneでは上記の形になっていたんだ。
二度手間になる率がどっちが高いのか調べてないので何とも言えないけど
スレッド丸ごと取得なら、事前に圧縮されている.dat.gzを優先するべきかな?

409 :402 :2006/03/09(木) 22:04:38
ああいや>>405で言いたかったのは、過去ログHTMLがある場合
datも圧縮、非圧縮最低どちらかが必ずあるのかなと。
存在の有無確認としては
dat.gz、dat、htmlの順になると思いますが。


410 :デフォルトの名無しさん :2006/03/10(金) 13:03:18
過去ログ二変換されてたらdatはないよなあ

411 :デフォルトの名無しさん :2006/03/11(土) 00:10:01
JBBSの post/get の仕様ってどうなってるんでしょうか?
資料等公開されていないのでしょうか?

412 :デフォルトの名無しさん :2006/03/11(土) 01:41:39
http://jbbs.livedoor.jp/bbs/read.cgi/computer/351/1040452916/126-
http://jbbs.livedoor.jp/bbs/read.cgi/computer/351/1091172832/
あたり?

413 :デフォルトの名無しさん :2006/03/11(土) 04:58:00 BE:5594876-
・HTML化された過去ログはhtmlとdatの両方がある。
・datは ".dat" か ".dat.gz" のどちらかである。
・".dat" にアクセスするときも、gzipを許可すると圧縮されて送られてくる。

414 :デフォルトの名無しさん :2006/03/11(土) 05:09:12 BE:7459878-
.dat.gz と .dat 、どちらを優先するか。

最近はほとんどHTML化されてないけども、されるときは、
見た限り全て .dat なので、最近のログに限って言えば
.dat を優先するのが効率的。

HTML化がそれなりにされ、.dat.gz が主流だった時代のログ、
更にそれ以前の、圧縮なんて全くされていなかった時代のログ、

はて、どのログへのアクセスが多いのだろうか。

415 :402 :2006/03/11(土) 09:29:12
ふむ。じゃあ、
URLは、http://pc.2ch.net/tech/kako/981/981726544.dat
Accept-Encoding: gzip
とリクエストすれば圧縮か非圧縮のどちらかが返ってくるってことですね。
それで返ってこない場合はスレッドが存在しないと判断でいいかな。
htmlの有無は見ない。


416 :デフォルトの名無しさん :2006/03/11(土) 15:02:31
>>412
ありがとうございます。そちらを見てみます。

417 :402 :2006/03/12(日) 23:11:01
むぅ、
http://pc.2ch.net/tech/kako/981/981726544.dat
へアクセスするときAccept-Encoding: gzipつけても人大杉になるな・・・
http://pc.2ch.net/tech/kako/981/981726544.dat.gz
だとAccept-Encoding: gzipつけようがつけまいがgzipで返ってくる。
つまり>>404と逆のケースで、
http://pc.2ch.net/tech/kako/981/981726544.dat.gz
はあるけど
http://pc.2ch.net/tech/kako/981/981726544.dat
はない模様。
ぬるぽ。

418 :402 :2006/03/12(日) 23:38:27
結局、何をてこずってるのかというと・・・
あるスレに、どこかのスレへのリンクがあるとする。
このスレの>>1みたいに過去ログへのリンクとか。
リンクはhttp:/..../test/read.cgi/..../の形式で書いてあるとする。
通常リンクを書くときはread.cgiを含んだ形式のはず。
可能性としてそのスレッドは、
-ライブスレッド
-●でしか見れない
-過去ログdat
-過去ログdat.gz
-過去ログhtml
のいずれか。
これをどう読むかを考え中です。

419 :402 :2006/03/12(日) 23:41:31
今、考えているのは
-URLを解析してライブスレッドのdatを直読みに行く
--あれば、そのまま表示して終了
  たとえば、このスレのpart1は
  http://pc.2ch.net/test/read.cgi/tech/981726544/
  だけどライブと仮定すると
  http://pc8.2ch.net/tech/dat/981726544.dat
  へアクセスすることになる。
  もしリンクがサーバー移転前のもので、まだライブスレッドならアクセスできる。
-datがない場合
-リンクのURL(read.cgi)でそのままアクセス
--過去ログ倉庫に保存されていますの場合(●でしか見れない)
---offlaw.cgiで読みに行って、あれば表示して終了
---なければ、「スレッドありません」、とエラー表示して終了
--隊長!過去ログ発見しましたの場合
---過去ログHTMLのリンクが書いてあるので解析
---それを元に過去ログdatを読みに行って、あれば表示して終了
---なければ過去ログdat.gzを読みに行って、あれば表示して終了
---これでもなければ過去ログhtmlを読みに行って、あれば表示して終了
---これでもなければ、「スレッドありません」、とエラー表示して終了

もっと負荷減らせそうな良い方法ありますかね?
最初はライブのdatじゃなくread.cgiにアクセスして判断するほうがいいのかな。

420 :委員長 ◆/DABoneCRY :2006/03/13(月) 00:04:10
UserAgentは「Monazilla」を名乗ってます?
幾分古い情報となっているかもしれませんが、以下のサイトも
参考になると思います。
http://age.s22.xrea.com/talk2ch/

421 :402 :2006/03/13(月) 00:48:49
Monazillaは名乗ってます
2ちゃんとーくにも、dat,dat.gzのいずれかがありますと書いてますが、
裏を返せば、やはりどちらかしかないことがあるということですよね。
委員長さんは、>>418の件、どのような手順でスレッド取得してますか?

422 :委員長 ◆/DABoneCRY :2006/03/13(月) 02:16:47
>421
> 裏を返せば、やはりどちらかしかないことがあるということですよね。
そうだと思います。
実際に専用ブラウザ開発をやってると、「結果として取れればOK」って
スタンスになってしまいますので、datとdat.gzのどちらもあるのか?とか
どっちの方が確立が高いのか?とか、そういうのは全然考えてません。(^-^;

> 委員長さんは、>>418の件、どのような手順でスレッド取得してますか?
-ライブスレッド
-過去ログdat
-過去ログdat.gz
-●でしか見れない (offlaw.cgi 経由/ログイン時のみ)
の順番で取りに行ってますね。

踏んだURLは基本的にご指摘の通り、read.cgi経由ですが
A Boneの場合、内部的には全てdatのURLで管理していますので
自動的にdatのURLに変換しており、read.cgiのURLは一切無視。
ライブスレであろうが、過去ログであろうが、単純に上記の手順です。
ただし、それはread.cgi経由のURLを踏んだ場合であって
(過去ログか判断出来ないから)、>417のようなdatのURLで書かれて
いる場合には、そのまま過去ログdatからスタートしてます。(当たり前ですが)

>419の件ですが、offlaw.cgiを最後にしています。
正解なのか分かりませんが、CGI経由は負荷的に気持ち悪いので
最後にしているというのと、dat、dat.gzでトライしてエラーコード302(だっけ?)
を見て判定しているだけなので、効率的(速度的)な問題は無視出来ますから。
何より、過去ログですから、If-Modified-Sinceを指定している限り
ライブスレッドと違い、一回取ってしまえば何度も取得しに行く訳でもないので
効率はあまり気にする必要はないかと思いますしね。(最後は華麗に逃げ)

423 :402 :2006/03/13(月) 02:52:58
>>422
なるほど、その順番いいですね。
確かに存在しないファイルのリクエストの負荷はcgiに比べて低いですし
read.cgiが出力するhtmlを解析して過去ログのありかを特定とかも面倒ですし。
さっそくそれで組んでみます。
ども、でした。

424 :stream ◆PNstream2s :2006/03/13(月) 16:42:14 BE:138759326-
差分取得とかさまざまな場面でIf-Modified-Sinceを使ってる2chブラウザが多いですが。
Last-Modifiedを使う場合、秒単位になってしまいます。

秒単位になると何が起こるかと言うと、
1秒間に複数のレスが付いた場合、レスが付いてるのに
304 Not Modified になってしまう場合があります。
特に1000付近でこれが発生すると、dat全体を再取得しないと最後まで読めなくなってしまいます。

これを防ぐには、Last-ModifiedだけでなくETagを保存しておき、
更新チェックのさいはIf-None-Matchを使用するといいです。

425 :デフォルトの名無しさん :2006/03/13(月) 21:12:06
急浮上?

426 :デフォルトの名無しさん :2006/03/13(月) 23:26:07
>>422
●の唯一公式な機能を使うのに必要なんだからofflaw.cgiの負荷は全く気にする必要ないべ

427 :402 :2006/03/15(水) 01:44:56
うん、それもそうね。
けど、offlaw先に見に行くよりはdat,dat.gz,offlawの順の方が
仕組み的に楽だったんで。もう組んじゃったし(笑

428 :デフォルトの名無しさん :2006/03/15(水) 15:54:20 BE:1065942-
HTML化されたスレをofflaw.cgiで見ようとすると、

-ERR 過去ログ倉庫で発見 ../tech/kako/981/981726544.dat.gz

とエラーになるので、先にofflaw.cgiを見て、
あれば良し、
HTML化なら過去ログ位置を得る、
「そんな板orスレッドないです。」ならおしまい、
という処理をしてもいいかもしれない。
でも面倒。

429 :402 :2006/03/15(水) 16:04:52
結局、offlaw使えるのは●ユーザーだけなんで。
●もってない人のこともかんがえて処理すると
先に述べた方法が一番かと。

430 :デフォルトの名無しさん :2006/03/15(水) 19:03:04 BE:3197838-
だねー。

431 :委員長 ◆/DABoneCRY :2006/03/15(水) 20:32:55
あえて付け加えるなら、●ユーザーであっても
offlaw.cgiを使わずにdatや、dat.gzで済むなら、
それに越したことはないので、offlaw.cgiは
最後の手段という考え方の方が良いと思いますよ。

432 :http://www.vector.co.jp/soft/win95/util/se072729.html :2006/03/18(土) 20:54:25
TextSS のWindowsXP(Professional)64bit化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?

そういや64bitにネイティブ対応している2chブラウザてありましたっけ?

433 :デフォルトの名無しさん :2006/03/24(金) 04:32:04
"-ERR 過去ログ倉庫で発見"を処理しないブラウザで過去ログが取得できないケースとか
offlaw.cgiで送られてくるほうが新しいというケースとかあった気がする。

434 :デフォルトの名無しさん :2006/03/32(土) 01:53:43
JBBSのsubject.txtは、なぜ最後の行に1行目と同じ内容の物が出力されるのだろう。
全板でそうなら最後の1行スキップすればよいのだが・・・

435 :デフォルトの名無しさん :2006/04/10(月) 10:58:04
>>434
最後の行と最初の行が同じだったら
最後の行を削除したらいいじゃない

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
すごい惨めな気持ちになったぞ!
どうしてくれる!

228KB
新着レスの表示

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

0ch BBS 2004-10-30