Charles Web Debugging Proxy – Wenn man wissen will, was wirklich geschieht

Die Tage unterhielt ich mich mit einem Bekannten, der eine Funktion von EndNote X7 in den höchsten Tönen lobte. Dabei konnte man eine Referenz in der eigenen EndNote Bibliothek anklicken und das Programm sucht automatisch das passende PDF und fügt es dem Datensatz hinzu. Hört sich irgendwie nach Zauberei an, besonders, da das für große Mengen an PDFs geht und der manuelle Download oft nervenaufreibend ist. Der Grund warum mein Bekannter mit mir darüber sprach war, dass er die PDFs von einem bestimmten Provider nie herunterladen konnte, obwohl die Universität Zugriff darauf hat. Woran das wohl liegen mochte?

PDFs automatisch finden? Wie geht das…

Als erstes interessierte mich, wie die Leute bei Thomson das wirklich machen.  Einen ersten Hinweis findet man in den Einstellungen (⌘+,) von EndNote. Hier kann man nämlich mehrere Quellen hinterlegen, die das System überprüfen soll. Dabei finden sich unter anderem die Volltext-Links der eigenen Universität, wie Sie beim Firmeneigenen Web of Science hinterlegt sind, die DOI Abfrage von dx.doi.org, PubMed LinkOut & den OpenURL Provider der eigenen Organisation. Für den Screenshot habe ich mal den OpenURL Resolver der Brigham Young University hinterlegt (SFX). Damit das auch wirklich gut funktioniert müsste man auch noch die Uni-Proxy-URL hinterlegen, aber der Zugriff bleibt mir verwehrt.

Bildschirmfoto 2014-12-06 um 19.48.30

EndNote nimmt sich also die Metadaten und fragt bei allen Anbieter nach der PDF und wenn es eine findet, lädt das System diese und hängt diese an. Einfach, oder? Ist es eigentlich auch, aber der Teufel liegt im Detail.

Charles Web Debugging Proxy, zeigt alle HTTP Anfragen aller Mac Programme an

Bildschirmfoto 2014-12-06 um 20.08.35Aber welche HTTP-Anfragen schickt das System und wie sehen die dazugehörigen Antworten aus? Das kann ich hier nicht beantworten. Natürlich sagen jetzt erfahrene System-Administrationen, dass es dafür ganz bekannte und altbewährte Terminal-Befehle gibt (z.B. TCPDUMP), aber das ist nicht wirklich etwas für Gelegenheitsnutzer. Daher kommt hier Charles Web Debugging Proxy ins Spiel. Ganz billig (US$ 50) ist das Tool nicht, aber ein 30tägiger Trial hat es für mich hier erst einmal getan.

Charles Proxy wird als ganz normales Programm geöffnet. Beim ersten Start bittet es darum sich in OS X als Proxy anmelden zu dürfen, hierzu brauchst Du das Admin Passwort. Sobald Du das Tool dann öffnest, fängt es an, allen http Traffic unter die Lupe zu nehmen und fügt die Anfragen schön in Gruppen zusammen. Das ist sehr gefällig, da es die Analyse erleichtert. Wenn gerade ein neue Kommunikation mit einem Server erkannt wird, leuchtet die Gruppe gelb auf und die Anfrage wird hinzugefügt. Diesen Modus nennt Charles Proxy „Structure“. Wer möchte kann sich auch die Reihenfolge („Sequence“) anzeigen lassen. Hier zwei Screenshots mit reichlich zusätzlichem Traffic:

Bildschirmfoto 2014-12-06 um 20.14.01 Bildschirmfoto 2014-12-06 um 20.14.09

Zu den meisten Einträgen kann man sich einen Überblick anzeigen lassen, den Request, die Response und ähnliches. Das ist sehr nützlich.

Wenn es um reinen Web-Traffic geht, hat Dein Browser schon die nötigen Tools

Solche Tools hat übrigens auch oft Dein Browser eingebaut. Wenn Du also nur gerne schauen möchtest was geschieht, wenn Du eine Webseite aufrufst, dann drücke in Safari & Google Chrome einfach ⌥ + ⌘ + i (ALT+CMD+I). In Safari wählst Du dann Timelines > Netzwerkanfragen und in Chrome wählst du lediglich Network. Hier mal ein Screenshot aus Chrome, damit Du das ein wenig ins Verhältnis setzen kannst.

Bildschirmfoto 2014-12-06 um 20.17.52

Aber ich schweife gerade ab. Alles was ich eigentlich erklären wollte ist: Wenn Du nur den Netzwerk-Traffic in Deinem Browser sehen willst, brauchst Du Charles Proxy nicht. Dafür ist das Tool aber auch nicht geschrieben worden, denn auf Deinem Rechner „quatscht“ so ziemliches jedes Programm regelmäßig mit dem Internet. Das Beispiel von EndNote zeigt nur schön, was man alles erreichen kann.

Also zurück zum Beispiel. Referenz angewählt und dann das „Find Full-Text“ Icon geklickt und wieder in Charles Proxy gewechselt.

Bildschirmfoto 2014-12-06 um 20.05.01

Klickt man hier auf eine bestimmte Anfrage, kann man die Anfrage und die Antwort genau unter die Lupe nehmen. Hier unten seht Ihr das Ergebnis für eine Anfrage bei PubMed Central – für die Demo Screenshots hatte ich mir ein paar Referenzen von dort geladen, da diese kostenlosen Volltext versprachen. Was Ihr in den Screenshots nun seht ist, dass EndNote die Metadaten aus der Referenz in eine Suche zusammenpackt und dann versucht bei PubMed Central eine Antwort zu erhalten. Interessant ist, dass die Suche von EndNote bei PMC zu 0 Treffern führte, obwohl die Metadaten ursprünglich von dort stammten. Ich fürchte, dass die Suchsyntax auf der EndNote Seite verbesserungswürdig sein könnte.

Bildschirmfoto 2014-12-06 um 19.44.45 Bildschirmfoto 2014-12-06 um 19.44.49

Da dieser Versuch in einer Sackgasse landete, ging EndNote zur nächsten Option über. Im Datensatz selbst gibt es einen DOI, also wird dx.doi.org abgefragt und von dort bekommt EndNote eine Weiterleitung. Interessant ist, dass man bei EndNote tatsächlich die Anfrage als reine „Webanfrage“ absendet und sich nicht die dort vorhandenen REST API verwenden. doi.org antwortet mit einem Redirect und ab hier muss EndNote nur noch einigen weiteren Redirects folgen, bis das PDF geladen und angehängt wird. Landet das System bei einer „Article Landing Page“, wird die passende URL dem Datensatz hinzugefügt.

Bildschirmfoto 2014-12-06 um 20.01.45Bildschirmfoto 2014-12-06 um 19.45.00Bildschirmfoto 2014-12-06 um 19.45.59

Charles Proxy erlaubt es Dir also gut in die Kommunikation von Apps zu schauen. Schwierig wird es erst, wenn der Traffic über SSL (HTTPS) läuft und somit die Anfragen & Antworten nicht mehr im Klartext erscheinen. Auch hier hat der Proxy einige Einstellmöglichkeiten, diese habe ich aber für diesen kurzen Bericht nicht näher beleuchtet.

Fazit:

EndNote macht das mit dem Volltext finden schon mal ziemlich gut, nicht perfekt, aber es ist auf jeden Fall effizienter, als jeden Artikel von Hand laden zu wollen.

Charles Web Debugging Proxy macht seine Sache ausgezeichnet und ist auch für „normalsterbliche“ Anwender gut zu verenden und bietet viele Einblicke. Lediglich beim HTTPS Traffic ist Schluss, obwohl es wohl mögliche Abhilfe gibt.

Wenn es um den reinen Web Traffic geht, den den Browser bewältigt, hilft Dir Safari, Chrome & Firefox schon sehr effizient mit eingebauten Tools.

Das Problem meines Bekannten konnte ich dennoch nicht lösen. Einige Tests zeigten, dass sich EndNote wohl weigert Redirects zum gewünschten Provider zu folgen. Mein Bekannter war also genauso schlecht dran, wie vorher, ich hatte jedoch einiges über EndNote’s Find Full-Text & Charles Web Debugging Proxy gelernt.

Claus Wolf

Seit 1994 im Netz unterwegs und seit 2004 eingefleischter Mac-Nutzer. 21.5" iMac - 2.9GHz Intel Core i5, 16GB RAM, 1TB Fusion Drive HDD / 128GB iPhone 7 / 128GB iPad 9,7" (2017) / 15" MacBook Pro (Mitte 2014) in der Firma...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

This site uses Akismet to reduce spam. Learn how your comment data is processed.