onihusube / 2chAPIProxy

2ch(5ch)のAPI未対応専ブラに代わってAPIアクセスや書きこみを行うローカルプロクシ
MIT License
32 stars 6 forks source link

Accept-Encodingの変更? #9

Open onihusube opened 1 year ago

onihusube commented 1 year ago

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 commented 1 year ago

にはBrotliあるけど、これは

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

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

onihusube commented 1 year ago

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

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

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