Evan Hahn blogado recentemente sobre adicionar suporte para o “human.json protocolo” em seu site. Li a especificação e achei que parecia um protocolo simples de implementar. Acompanhei e adicionei um /human.json arquivo para o meu site e rel="human-json" em um >
element to the section of my HTML. Easy!
A comprovação foi um pouco mais complicada porque eu queria descobrir automaticamente quem usa human.json de todos que sigo usando RSS. Então meu vouches pode ser mantido atualizado à medida que mais pessoas implementam o protocolo. O script abaixo é o que acabei:
import pathlib
import json
import datetime
import re
import opml
import urllib3
today = datetime.date.today().strftime("%Y-%m-%d")
human_json_path = pathlib.Path("app/static/human.json")
human_json = json.loads(human_json_path.read_text())
vouched_urls = {vouch("url") for vouch in human_json("vouches")}
doc = opml.OpmlDocument.load("archive/feeds.opml")
for outline in doc.outlines:
try:
mat = re.search(r"^(https?://(^/)+)(?:/|$)", outline.html_url or "")
if not mat:
continue
url = mat.group(1)
resp = urllib3.request(
"GET",
f"{url}/human.json",
headers={
# Be a good internet netizen:
# always set a User-Agent with
# your domain and email.
"User-Agent": "sethmlarson.dev/1.0 (sethmichaellarson@gmail.com)",
"Accept": "application/json",
},
retries=0,
timeout=5,
)
if resp.status < 300 and "vouches" in resp.json() and url not in vouched_urls:
human_json("vouches").append({"url": url, "date": today})
except Exception as e:
continue
human_json_path.write_text(json.dumps(human_json, indent=2))
A execução deste script resultou em dois sites que sigo já com suporte ao protocolo:
Talvez esta postagem inspire você a adicionar suporte ao seu próprio site? Se você fizer isso e eu segui-lo via RSS, seu site aparecerá automaticamente depois que eu regenerar meus arquivos OPML. Se formos mútuos no Mastodon ou no Bluesky, me avise e eu adicionarei você mais cedo.
Provavelmente não usarei a extensão do navegador, mas se outras pessoas estiverem usando os dados desta “rede”, isso será uma vitória.
Uau, você chegou ao fim!
Deseja saber mais sobre Programação e Desenvolvimento Clique Aqui!
python pypi mantenedor de código aberto urllib3 solicita segurança de rede http oss
