V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lzzh0520
V2EX  ›  RSS

订阅源防盗链,怎样能够获取图片

  •  
  •   lzzh0520 · 141 天前 · 1764 次点击
    这是一个创建于 141 天前的主题,其中的信息可能已经有所发展或是发生改变。

    自己部署了 miniflux 有几个月的时间了,非常 nice ,现在一直有一个问题无法解决,就是如果订阅源设置了图片防盗链,在 feed 里面看不到图片,跳转到原网站是没有问题的。如何解决呢? 比如这个 blog:旅行漫记,https://synyan.cn/ feed 设置了输出摘要,并且图片是防盗链的。 miniflux 设置获取全文可以得到全文 feed ,可是图片都没办法看到,比如下面演示的这样:

    这个有解决办法吗?难道只有跳转到源链接去看嘛?感谢。

    5 条回复    2023-12-11 09:56:11 +08:00
    proxytoworld
        1
    proxytoworld  
       141 天前
    少了 referer
    soft101team
        2
    soft101team  
       140 天前
    浏览器模拟,下载下来 ?
    bigfei
        3
    bigfei  
       140 天前 via Android   ❤️ 1
    修改代码,增加 refer header 。或者参考 freshrss 修改图片 URL 为自己的 proxy
    Jiubia
        4
    Jiubia  
       140 天前   ❤️ 1
    用 python 或者其他语言写个 proxy ,转发链接,前几天刚用 GPT 帮我做了个
    ```
    # -*- coding: utf-8 -*-
    import re
    import requests
    from flask import Flask, Response, request


    HOST = '127.0.0.1' # 监听地址,建议监听本地然后由 web 服务器反代
    PORT = 7997 # 监听端口
    app = Flask(__name__)
    regex = r"( http|https):\/(?=\w)"
    requests.packages.urllib3.disable_warnings()


    @app.route('/')
    def index():
    return "hello world!"


    @app.route('/<path:path>', methods=['GET', 'POST'])
    def handler(path):
    # 构建目标 URL
    if path:
    target_url = re.sub(regex, r"\1://", path)
    else:
    return "No URL provided", 400

    print(target_url)
    resp = requests.request(method=request.method,url=target_url,verify=False,timeout=5)

    # 将收到的响应转发回客户端
    excluded_headers = ['connection']
    headers = [(name, value) for (name, value) in resp.raw.headers.items()
    if name.lower() not in excluded_headers]

    response = Response(resp.content, resp.status_code, headers)
    return response


    # nohup python3 proxy.py > proxy.log 2>&1 &
    app.debug = True
    if __name__ == '__main__':
    app.run(host=HOST, port=PORT)
    ```
    zjyl1994
        5
    zjyl1994  
       139 天前
    我记得有的图床可以允许空白 referer ,这种情况阅读工具可以设置的应该。如果不允许空白 referer ,可以考虑写个简单的代理
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3299 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 11:32 · PVG 19:32 · LAX 04:32 · JFK 07:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.