Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Accept-Encodingの変更? #9

Open
onihusube opened this issue Jan 5, 2023 · 2 comments
Open

Accept-Encodingの変更? #9

onihusube opened this issue Jan 5, 2023 · 2 comments

Comments

@onihusube
Copy link
Owner

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
Copy link
Owner Author

onihusube commented Jan 5, 2023

にはBrotliあるけど、これは

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

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

@onihusube
Copy link
Owner Author

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

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

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant