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

2023-12-09 18:27:45 +08:00
 lzzh0520

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

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

2209 次点击
所在节点    RSS
5 条回复
proxytoworld
2023-12-09 18:39:05 +08:00
少了 referer
soft101team
2023-12-10 00:40:47 +08:00
浏览器模拟,下载下来 ?
bigfei
2023-12-10 10:37:05 +08:00
修改代码,增加 refer header 。或者参考 freshrss 修改图片 URL 为自己的 proxy
Jiubia
2023-12-10 17:51:57 +08:00
用 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
2023-12-11 09:56:11 +08:00
我记得有的图床可以允许空白 referer ,这种情况阅读工具可以设置的应该。如果不允许空白 referer ,可以考虑写个简单的代理

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/998975

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX