RDFLibs URL-Loader kann urllibs Proxy-Umgebung nutzen
Konfigurieren Sie den URL-Ladepfad von urllib, bevor RDFLib ein entferntes Dokument parst, statt zu erwarten, dass Optionen eines anderen Requests-Aufrufs übernommen werden.
RDFLibs URLInputSource lädt über urllib.request herunter. Konfigurieren Sie die übliche Proxy-Umgebung von urllib, bevor Sie diesen URL-Loader erstmals verwenden:
import os
from rdflib import Graph
os.environ['http_proxy'] = 'http://proxy.example:8080'
os.environ['https_proxy'] = 'http://proxy.example:8080'
graph = Graph()
graph.parse('https://data.example/catalog.ttl', format='turtle')Beide Variablen bezeichnen denselben HTTP-Proxy-Listener. Sie decken die jeweiligen Zielschemas ab, einschließlich eines RDF-Dokuments über HTTPS. Für öffentliche RDF-Quellen auf einer zulässigen öffentlichen Proxy-Route liefert die HTTP-Proxy-Liste Kandidaten für diese Umgebungs-URLs.
Wenn der Prozess bereits einen eigenen urllib-Opener installiert oder erstellt hat, prüfen Sie dessen Proxy-Handler. Eine spätere Änderung der Umgebung baut diesen Handler nicht zwangsläufig neu auf.
Verwenden Sie den im Traceback genannten Loader, wenn ein anderer Download fehlschlägt. RDF-Plugins und Anwendungs-Wrapper können weitere Netzwerkpfade besitzen. Ein Proxy-Argument in einem separaten Requests-Aufruf gilt für diesen Aufruf, nicht für RDFLibs urllib-Loader.