2chAPIProxy icon indicating copy to clipboard operation
2chAPIProxy copied to clipboard

Accept-Encodingの変更?

Open onihusube opened this issue 2 years ago • 2 comments

  • http://jbbs.shitaraba.net/bbs/read.cgi/computer/43680/1672829512/49

cloudflare内での鯖移転の話があったけど それがきっかけみたい

htmlとかをネットワーク上で泳がせる時に転送量を減らすために圧縮して送ります でV2C側からどんな形式で圧縮してくれれば受け取れますって情報を送るんだけど V2Cからはgzipやdeflateやbrって形式なら受け取れます (この3つにしたのはかなり以前の書き込み対応の修正でfirefoxからそのままコピペしただけ)

以前の鯖はgzipって圧縮形式を優先で出してたんだけど 今度の鯖はbrって圧縮形式を優先で返すみたい

B11はgzipなら解凍できるんだけどdeflateやbrは解凍できないので br圧縮で送られてきた情報を平文に戻せなくて文字化けが起きたって感じ (bbsmenuもread.cgiでのDat取得も)

ようは自分で解凍できない圧縮形式でもOKだよ前から言ってて cloudflareの鯖移転前はgzip圧縮だったから問題が起きなかったけど 移転後はbr圧縮が送られたきたもんで解凍できなくて撃沈しました

要確認の予感

onihusube avatar Jan 05 '23 15:01 onihusube

にはBrotliあるけど、これは

  • https://github.com/dotnet/runtime/issues/24986

.Net 4.0よりもはるかに後に追加されている(.Net Core 3.0?)ので、.Net4.0のランタイムは非対応のはず。

何も設定しない場合にbrが付加されることは無いと思うので、明示的に設定してるところで混ざってないか確認。

onihusube avatar Jan 05 '23 15:01 onihusube

  • APIMediator
    • sid取得時は設定していない
    • dat取得時はDecompressionMethods.GZip | DecompressionMethods.Deflate
  • HtmlConverter
    • HTML取得時は設定していない
  • DatProxy
    • Fiddlerのリクエスト編集時は触ってないっぽい
    • beログイン時は設定していない
    • 書き込み時
      • 旧書き込み方式では設定ファイルから読み込まれうる
      • 新書き込み方式でも設定ファイルから読み込まれうる

コードの修正は必要ないけど、BoardSettings.sample.yamlの内容は修正が必要かもしれない。

新書き込み仕様の場合、Accept-Encodingヘッダにbrが含まれているブラウザが存在しているっぽいので、brだけ消して通らない場合は別のブラウザのキーと設定を使うようにしてもらうのが良さそう・・・

化けるのは書き込み結果が帰ってくるところだけだからdat読みとかは化けない。

onihusube avatar Jan 05 '23 15:01 onihusube