プロジェクト

全般

プロフィール

バグ #1031

twitpic の画像がひらけない

あひる 家鴨7ヶ月前に追加. 5ヶ月前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
プラグイン名:
photo_support

説明

twitpic が gzip で返してくるため、画像が開けなくなりました。

関係しているリビジョン

リビジョン 73234961 (差分)
あひる 家鴨7ヶ月前に追加

twitpic の仕様変更に対応 refs #1031

twitpic が gzip で返してくるようになったため、zlib で展開して nokogiri を通すようにした。

リビジョン 8b6cd54d (差分)
toshi_a 初音6ヶ月前に追加

twitpicのURLスキームがhttpsの場合開けなかった refs #1031

リビジョン 8a428be3 (差分)
toshi_a 初音6ヶ月前に追加

twitpic.comが、誤ってdeflateされたレスポンスを返す対策 refs #1031

履歴

#1 あひる 家鴨7ヶ月前に更新

  • ステータス新規 から パッチ適用待 に変更
  • 担当者あひる 家鴨 から toshi_a 初音 に変更

ブランチ topic/1031-modify-twitpic にコミットしました。
確認をお願いします。

#2 toshi_a 初音7ヶ月前に更新

  • プラグイン名core/plugin/photo_support/photo_support.rb から photo_support に変更

たしかhttpclientにはdeflateされてる場合自動的に伸張する機能があったと思うのですが、現在呼び出してる get_content メソッドではそれが行われないんですかね。(それにしてもRequest Headerにgzipをacceptするとは一言も書いてないのに…)
HTTPClientの機能を使えば、どのような形式でdeflateされているか判別してくれると思うので、その方法で伸張部分だけ書き換えて取り込むと思います

#3 あひる 家鴨7ヶ月前に更新

HTTPClient の Session に deflate オプションがあるみたいです。
transparent_gzip_decompression
default value
デフォルト値が false みたいなので、これを true にしてあげるといいみたいです。
ただ、いまいち HTTPClient::Session の取り扱い方がわからないので、その辺はお任せしたいです。(丸投げ)

#4 Izumi Tsutsui7ヶ月前に更新

ツイートに書くだけでチケットに書いていませんでしたが
Twitpic のページが gzip されるというのは意図された挙動なのかよくわからない感じです。

あと、チケットの本題からズレますが、 twitpic.com 自体も
http から https にリダイレクトされるようになったようなので
ブラウザからURLを貼るときのことを考えると https もマッチする
ようにしたほうがいいんですかね。

--- core/plugin/photo_support/photo_support.rb.orig    2017-04-08 07:35:59.000000000 +0000
+++ core/plugin/photo_support/photo_support.rb    2017-04-18 15:28:21.000000000 +0000
@@ -25,7 +25,7 @@

 Plugin.create :photo_support do
   # twitpic
-  defimageopener('twitpic', %r<^http://twitpic\.com/[a-zA-Z0-9]+>) do |display_url|
+  defimageopener('twitpic', %r<^https?://twitpic\.com/[a-zA-Z0-9]+>) do |display_url|
     connection = HTTPClient.new
     page = connection.get_content(display_url)
     next nil if page.empty?

#5 Izumi Tsutsui7ヶ月前に更新

有識者のコメントを貼り忘れました
https://twitter.com/toshi_a/status/853151511320252417

返信先: @tsutsuiiさん
多分、リクエストヘッダをちゃんと見てなくて、常に圧縮して送るようになっちゃってるとか、その状態でキャッシュしちゃってるとか、そのへんな気がする

#6 Izumi Tsutsui6ヶ月前に更新

6/3 時点で再度 gzip された html を返すページが存在しました。いずれにせよ対応は必要ですね……

https://twitter.com/tsutsuii/status/870843163186913280
https://twitpic.com/6985ru

#7 toshi_a 初音6ヶ月前に更新

  • ステータスパッチ適用待 から レビュー待ち に変更
  • 担当者toshi_a 初音 から Izumi Tsutsui に変更

topic/1031-forever-twitpic ブランチにて修正しました。正しく動いてるか確認お願いできますか。

#8 Izumi Tsutsui5ヶ月前に更新

  • ステータスレビュー待ち から 解決 に変更

遅くなりましたが
3.5.8 + 8a428be3
https://twitter.com/tsutsuii/status/870842885540675589

https://twitpic.com/6985ru
の画像が curl では gzip されていて、かつ
mikutter の画像ビューアでもエラーなく表示されることを
確認しました。

#9 toshi_a 初音5ヶ月前に更新

  • ステータス解決 から 終了 に変更

他の形式にエクスポート: Atom PDF