■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50
monazilla Part 5
- 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 
 -  すごい惨めな気持ちになったぞ! 
 どうしてくれる! 
 
- 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の上に成り立ってるんじゃないのか 
 
228KB
新着レスの表示
スレッドリストへ戻る 全部 前100 次100 最新50
0ch BBS 2004-10-30