diff --git a/friend_circle_lite/__pycache__/get_info.cpython-311.pyc b/friend_circle_lite/__pycache__/get_info.cpython-311.pyc index 1f7abf5..11e8a80 100644 Binary files a/friend_circle_lite/__pycache__/get_info.cpython-311.pyc and b/friend_circle_lite/__pycache__/get_info.cpython-311.pyc differ diff --git a/friend_circle_lite/get_info.py b/friend_circle_lite/get_info.py index 1fc2687..dc2a25b 100644 --- a/friend_circle_lite/get_info.py +++ b/friend_circle_lite/get_info.py @@ -60,11 +60,12 @@ def check_feed(blog_url, session): """ 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' - - # 2024-07-25 添加 /index.xml内容的支持 - index_url = blog_url.rstrip('/') + '/index.xml' + feed2_url = blog_url.rstrip('/') + '/feed.xml' # 2024-07-26 添加 /feed.xml内容的支持 + feed3_url = blog_url.rstrip('/') + '/feed/' # 2024-07-26 添加 /feed/内容的支持 + index_url = blog_url.rstrip('/') + '/index.xml' # 2024-07-25 添加 /index.xml内容的支持 try: atom_response = session.get(atom_url, headers=headers, timeout=timeout) @@ -76,7 +77,14 @@ def check_feed(blog_url, session): try: rss_response = session.get(rss_url, headers=headers, timeout=timeout) 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: pass @@ -86,7 +94,14 @@ def check_feed(blog_url, session): return ['feed', feed_url] except requests.RequestException: 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: feed_response = session.get(index_url, headers=headers, timeout=timeout) if feed_response.status_code == 200: @@ -94,6 +109,13 @@ def check_feed(blog_url, session): except requests.RequestException: 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] def parse_feed(url, session, count=5): diff --git a/server.py b/server.py index b0d5a14..093a870 100644 --- a/server.py +++ b/server.py @@ -1,5 +1,6 @@ from fastapi import FastAPI from fastapi.responses import JSONResponse, HTMLResponse +from fastapi.middleware.cors import CORSMiddleware from apscheduler.schedulers.asyncio import AsyncIOScheduler from threading import Lock import logging @@ -12,6 +13,14 @@ from friend_circle_lite.get_conf import load_config app = FastAPI() +app.add_middleware( + CORSMiddleware, + allow_origins=["*"], # 允许的域 + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], +) + # 配置APScheduler scheduler = AsyncIOScheduler() scheduler.start()