web-dev-qa-db-ja.com

.pngまたは.jpg画像をwebpではなくpngまたはjpgとして強制的にダウンロードするにはどうすればよいですか? (クロムだけでなく、任意のブラウザ)

Jpgまたはpng画像の画像URLがある場合、次に例を示します。

https://static.coingecko.com/s/coingecko-logo-d13d6bcceddbb003f146b33c2f7e8193d72b93bb343d38e392897c3df3e78bdd.png

このリンクにアクセスすると、画像が表示されます。画像を右クリックして[名前を付けて画像を保存...]をクリックすると、何らかの理由で.webp(Google WebP)画像として保存するように要求されます。

拡張子の名前を変更するだけでなく、ダウンロードして保存するファイルは実際にはwebpイメージです。

私が何をしても、ブラウザに、アクセスしているネイティブ形式、つまりpngまたはjpg(この例ではpng)で保存させることができないようです。

これは、Chrome、Firefox、Brave、Chromiumなどのすべてのブラウザで発生します。

ターミナルからcurl <theurl>を実行すると、amが正しい画像ファイルを取得することに注意してください。

また、HTTPヘッダーを検査するカスタムスクリプトを作成すると、正しいmimetype(image/jpegまたはimage/png)が含まれます。これにより、フルブラウザ(一部のcurlスクリプトだけでなく)がAcceptヘッダーなどを送信し、URIに関係なく、特定のWebサーバーがpngやjpgではなくwebp画像を出力するように思われます。具体的にはpngまたはjpgをリクエストします。

この振る舞いには何らかの合理的な理由があると確信していますが、私はそれを望んでいません。これを修正する方法はありますか?

1
RocketNuts

ブラウザの ユーザーエージェント 設定を切り替える必要があります。 Webサーバーがwebpに対応していない古いブラウザーを認識すると、pngが表示されます。

4
Furty