Project

General

Profile

バグ #1031

twitpic の画像がひらけない

Added by あひる 家鴨 over 2 years ago. Updated over 1 year ago.

Status:
終了
Priority:
通常
Assignee:
Target version:
プラグイン名:
photo_support
ブランチ:
master
クラッシュする:
No

Description

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

Associated revisions

Revision 73234961 (diff)
Added by あひる 家鴨 over 2 years ago

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

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

Revision 8b6cd54d (diff)
Added by toshi_a 初音 about 2 years ago

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

Revision 8a428be3 (diff)
Added by toshi_a 初音 about 2 years ago

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

History

#1

Updated by あひる 家鴨 over 2 years ago

  • Status changed from 新規 to パッチ適用待ち
  • Assignee changed from あひる 家鴨 to toshi_a 初音

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

#2

Updated by toshi_a 初音 over 2 years ago

  • プラグイン名 changed from core/plugin/photo_support/photo_support.rb to photo_support

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

#3

Updated by あひる 家鴨 over 2 years ago

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

#4

Updated by Izumi Tsutsui over 2 years ago

ツイートに書くだけでチケットに書いていませんでしたが
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

Updated by Izumi Tsutsui over 2 years ago

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

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

#6

Updated by Izumi Tsutsui about 2 years ago

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

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

#7

Updated by toshi_a 初音 about 2 years ago

  • Status changed from パッチ適用待ち to レビュー待ち
  • Assignee changed from toshi_a 初音 to Izumi Tsutsui

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

#8

Updated by Izumi Tsutsui about 2 years ago

  • Status changed from レビュー待ち to 解決

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

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

#9

Updated by toshi_a 初音 about 2 years ago

  • Status changed from 解決 to 終了
#10

Updated by toshi_a 初音 over 1 year ago

  • Status changed from 終了 to まだダメ

つついさんにMastodonでボコられた。マージされていないらしいので確認する

#11

Updated by Izumi Tsutsui over 1 year ago

twitpicも仕様が変わって画像だけしか無い html を返すようになりましたが、
いまだに gzip されたものが降ってくることがあるのかは確認できていません。
なので、誰も困っていないのかも……

#12

Updated by Izumi Tsutsui over 1 year ago

と思ったら #1031#note-6https://twitpic.com/6985ru は gzip されてるっぽいです

% curl https://twitpic.com/blr7h9 | file -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1973  100  1973    0     0  18100      0 --:--:-- --:--:-- --:--:-- 18100
/dev/stdin: HTML document, ASCII text, with very long lines
mirage-% curl https://twitpic.com/6985ru | file -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1067  100  1067    0     0   9971      0 --:--:-- --:--:-- --:--:--  9971
/dev/stdin: gzip compressed data, from FAT filesystem (MS-DOS, OS/2, NT)
% 
#13

Updated by toshi_a 初音 over 1 year ago

  • Status changed from まだダメ to レビュー待ち
  • ブランチ set to master

topic/1031-forever-twitpicをmasterにmergeしました。かなり期間が開いているので、masterでもう一度チェックしてもらえますか

#14

Updated by Izumi Tsutsui over 1 year ago

pkgsrc では 3320adb9 相当のパッチが当たっているのでそのまま
https://twitter.com/tsutsuii/status/870842885540675589
の画像を開いてみましたが問題なくプレビューウインドウで表示可能でした。
終了でOKと思います。

#15

Updated by toshi_a 初音 over 1 year ago

  • Status changed from レビュー待ち to 終了

Also available in: Atom PDF