添加对于“/feed/,rss.xml,feed.xml”的支持

This commit is contained in:
柳神 2024-07-26 19:43:34 +08:00
parent c829c12165
commit aa2a8ec8d4
3 changed files with 37 additions and 6 deletions

View File

@ -60,11 +60,12 @@ def check_feed(blog_url, session):
""" """
atom_url = blog_url.rstrip('/') + '/atom.xml' atom_url = blog_url.rstrip('/') + '/atom.xml'
rss_url = blog_url.rstrip('/') + '/rss2.xml' rss_url = blog_url.rstrip('/') + '/rss.xml' # 2024-07-26 添加 /rss.xml内容的支持
rss2_url = blog_url.rstrip('/') + '/rss2.xml'
feed_url = blog_url.rstrip('/') + '/feed' feed_url = blog_url.rstrip('/') + '/feed'
feed2_url = blog_url.rstrip('/') + '/feed.xml' # 2024-07-26 添加 /feed.xml内容的支持
# 2024-07-25 添加 /index.xml内容的支持 feed3_url = blog_url.rstrip('/') + '/feed/' # 2024-07-26 添加 /feed/内容的支持
index_url = blog_url.rstrip('/') + '/index.xml' index_url = blog_url.rstrip('/') + '/index.xml' # 2024-07-25 添加 /index.xml内容的支持
try: try:
atom_response = session.get(atom_url, headers=headers, timeout=timeout) atom_response = session.get(atom_url, headers=headers, timeout=timeout)
@ -76,7 +77,14 @@ def check_feed(blog_url, session):
try: try:
rss_response = session.get(rss_url, headers=headers, timeout=timeout) rss_response = session.get(rss_url, headers=headers, timeout=timeout)
if rss_response.status_code == 200: if rss_response.status_code == 200:
return ['rss2', rss_url] return ['rss', rss_url]
except requests.RequestException:
pass
try:
rss_response = session.get(rss2_url, headers=headers, timeout=timeout)
if rss_response.status_code == 200:
return ['rss2', rss2_url]
except requests.RequestException: except requests.RequestException:
pass pass
@ -86,7 +94,14 @@ def check_feed(blog_url, session):
return ['feed', feed_url] return ['feed', feed_url]
except requests.RequestException: except requests.RequestException:
pass pass
try:
feed_response = session.get(feed2_url, headers=headers, timeout=timeout)
if feed_response.status_code == 200:
return ['feed2', feed2_url]
except requests.RequestException:
pass
try: try:
feed_response = session.get(index_url, headers=headers, timeout=timeout) feed_response = session.get(index_url, headers=headers, timeout=timeout)
if feed_response.status_code == 200: if feed_response.status_code == 200:
@ -94,6 +109,13 @@ def check_feed(blog_url, session):
except requests.RequestException: except requests.RequestException:
pass pass
try:
feed_response = session.get(feed3_url, headers=headers, timeout=timeout)
if feed_response.status_code == 200:
return ['feed3', feed3_url]
except requests.RequestException:
pass
return ['none', blog_url] return ['none', blog_url]
def parse_feed(url, session, count=5): def parse_feed(url, session, count=5):

View File

@ -1,5 +1,6 @@
from fastapi import FastAPI from fastapi import FastAPI
from fastapi.responses import JSONResponse, HTMLResponse from fastapi.responses import JSONResponse, HTMLResponse
from fastapi.middleware.cors import CORSMiddleware
from apscheduler.schedulers.asyncio import AsyncIOScheduler from apscheduler.schedulers.asyncio import AsyncIOScheduler
from threading import Lock from threading import Lock
import logging import logging
@ -12,6 +13,14 @@ from friend_circle_lite.get_conf import load_config
app = FastAPI() app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=["*"], # 允许的域
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# 配置APScheduler # 配置APScheduler
scheduler = AsyncIOScheduler() scheduler = AsyncIOScheduler()
scheduler.start() scheduler.start()