From aa2a8ec8d467de9253fb51ed02d42a6b4cb94a8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=B3=E7=A5=9E?= <3162475700@qq.com> Date: Fri, 26 Jul 2024 19:43:34 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9E=95=E6=B7=BB=E5=8A=A0=E5=AF=B9=E4=BA=8E?= =?UTF-8?q?=E2=80=9C/feed/=EF=BC=8Crss.xml=EF=BC=8Cfeed.xml=E2=80=9D?= =?UTF-8?q?=E7=9A=84=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__pycache__/get_info.cpython-311.pyc | Bin 12193 -> 13252 bytes friend_circle_lite/get_info.py | 34 ++++++++++++++---- server.py | 9 +++++ 3 files changed, 37 insertions(+), 6 deletions(-) diff --git a/friend_circle_lite/__pycache__/get_info.cpython-311.pyc b/friend_circle_lite/__pycache__/get_info.cpython-311.pyc index 1f7abf5044302afe9c1163af9ddd9d624600e60f..11e8a805d276d2e4650058bf7857cbec4173a8c1 100644 GIT binary patch delta 1668 zcmb7DT})eL7(QQn&gp4;+EYMUVNj+}p{(?jGKX1^0h|0P;!qcuSZjMg{>uDLOW5dy z3orc3)V)TC*+u<{#u$@n)p%jln8_T;3^iQfN%YE?;Kf`_rit;w?>%V1ZC-Ga^Yne6 z?|I(yzTfxt_1J|m_d70^gJaL_&%Zg!?fbyp&J!&^z@HaWx5R2^M zDJDEE?qF;tW7}q2lF3MRE=zI*z9=e%%VK%Z{jW zxjb3PblG<0D$3g6E2+_5oaM$WgIusA|CjWKMUYgg>u|;CE4HhnnwAXDO;4Q?%}@ni z4h5`i-QXES4ITxCfEYD|@l;Zq+sc}tL+&9mydc-rpfZ-BQ-*{(GqRhG?XU?xm0KEQ zc8YsXO*0_;Hg>n)a2$1p6FuF_3T{1qna#Cy3X0lmYdf~s@LRd@VLXO z&%ZQ(c0PC4$H%@NduhJl>tFZvKO=8Aee2HZoc^7&e$83GaZCAf_gYC{O%5>6PjJxf zgg4wr|M`8Ce~PsXUgbd7iY3yypIh0lbcxoB0zq^{x>~r4ElRiB`i+Yq7Dsw`?h>!` zc&(R831WGqSLRk_rPps=tt7qve4lbn5btJHX)AP=9;#}=a4W~C9iao^FhU!=RT?7o zP$*SBHAw7`gU4Ix`>);*X5&*CjUIs`-hfYK217{9WKwBEqMCkUCZ%h%1{S?u(hf`B zM&V(mIGMlfUExU`ys{^G$SiNxY-LM9!Tg?KOHeJIW`~HR*{mVPXXEKOeU}UJh9w-K z58}!&G*@(y&tairgtWmA6;)BJmvJ%(?frS_lg*`%e*Nqd5TAdw!Q)q++!Vy1dJ zp3dlO;Bcinh?j+8bM!t2L8l>((s3=7q&O12A0f=ZFfU^)ee#4xo3``u)aVRtL(x`O z7>&UB%AhdH!uRt(R{98u<$w2Aijm`t30e$M&pbXoo~9^ZQ$K>11Ok4`khD21kx9=` zs>0zwFS!P10-dEXT#q9>#$c0R)Rx~2SV%8kbi+2N>H7Fgiq_+bAE63)enMyDy_n;4 zhIL9yQ4v!c!UM>O+FTmv?SngOtIEuQ2auPy_Cb#&arYmB>DmsGf%COdkJ&AH=@fzr zztuJiPqXm*e7J6mXR232Lu3f9hK`Y1=x(@;#9*S~xNwF^%3-ykpXFuYJ49@qcEUa3 z#+L0GgDeCeVL`W5Be|gVffjSK0^Fgxg9ucfj;#p HkJi5drkj?I delta 1194 zcmb7BOKcNY6rE?!j6HE;J0Tz02prcW=`=(9Dc@iMM1q7Mg$S2MX%q$5^K49=F?utO z0y3Xv3qmaJA_yT7y68uhDp4c4VF4jxogfxy7GzVk0trf`N|g|xzB>_w3N{_-ojK>c zGk5NNZ=rB)(*J!!L!H2%($R18JzdxRdqlFgHX>djt~xh7lNMw}sFFDX%PlQ1;R&nq zcWy!WiLaIClw6gMiEotd`O1ZyiMki&Jcakto~q}AX$2DA_tW00_k-y=xcxuUJ{VC_ zb$WeOD7Z3$+E7dT{&6)bab}vSo|&oANhzMEREMlzYZB44Mbx%bG;}%xzxekP1z!3; zc3c6J zEy-K?KHCQQ(5}c9q$?WP4umwqPJ~`q2x+7X{tCr|F*M$ZLn6Gc?Z0_jn$DIgl=Xog z?r6hFY$;c+7?$m2)I44`Ov+*~7j7jx;MZ_c8sUjt?P>U)NIKv~MBn9a&|gvW!aB{D%!4|1RKVk&tSBDfcyYg+b2jbylRi6uwKQ-L2Lhg z_U7Z+8-L!q%rac_0y(QVO;tA=b);!!t%}J99*)K{cn=JlV*?yipDpKEks3O~k=TBO zZVtAB7dvU4I8Ir7RTqtXne}35r7L8kuozXPBb?6GUPs#q8LPF%*2#&(+)-V&Y*xOU zDq0K!eCp5ni%lTlzicm^p}C4xW=w;eIz*P?XLVo8819cFe8J%{LDpMSK5>yDm2=yZ zp{7|Z8>|a=)+0pF7mu0T+=m*cv)v_XFd3x>;Q)Fvow0DPfY5^@F}Lcf0H9Lz}_ zPyZlX=YLzZvi`a777PN$r-wxR?q85yAzlCg 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()