2017-01-06 2 views
2

Ich analysiere s3 Protokolle, um Anfragen aus iMessage-Vorschauen zu identifizieren (unter Mac OS Sierra & iOS 10).Wie lautet die User Agent-Zeichenfolge für iOS/MacOS iMessage?

Es gibt einige häufige Arten von UA-Strings, aber ich kann nicht sagen, welche aus dem Browser vs Imessage sind. Ich hoffe, dass es sich um eine einzigartige UA von Safari ist:

  1. `AppleCoreMedia/1.0.0.14B100 (iPhone; U; CPU OS 10_1_1 wie Mac OS X; en_us)

^Gotta iOS Safari , Recht?

2.MobileSMS/1.0 CFNetwork/808.1.4 Darwin/16.1.0`

^I denken MobileSMS bedeutet IMessage (hoffentlich)

  1. Mozilla/5.0 (iPhone; CPU iPhone OS 10_1_1 like Mac OS X) AppleWebKit/602.1.32 (KHTML, like Gecko) Mobile/14B100 Twitter for iPhone

^Twitter über webkit webview?

  1. Mozilla/5.0 (iPhone; CPU iPhone OS 10_1_1 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) CriOS/54.0.2840.91 Mobile/14B100 Safari/602.1

^mehr iOS Chrome (ich sehe Sie Crios)

  1. Mozilla/5.0 (iPhone; CPU iPhone OS 10_1_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0 Mobile/14B100 Safari/602.1

^mehr iOS Chrome?

  1. Twitter/5002568 CFNetwork/760.6.3 Darwin/15.6.0 (x86_64)

^Twitter

Antwort

4

ich das gleiche Problem nur konfrontiert haben beim Versuch, die iMessage Crawler auf einen Nicht-Winkel erneut Route Seite, die die richtigen Meta-Tags für sie generiert und diese Frage im Prozess gefunden. Ich dachte, ich würde eine Antwort schreiben, seit ich sie gefunden habe. Apples Dokumentation sagt nichts anderes als die ...(Applebot/x.x) , die nicht die richtige ist. Ich habe nichts im Internet gefunden, also habe ich Verkehr auf nur einer Datei auf einem öffentlichen Server protokolliert und den Link über iMessage freigegeben. In der Protokolldatei erhielt ich:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/601.2.4 (KHTML, like Gecko) Version/9.0.1 Safari/601.2.4 facebookexternalhit/1.1 Facebot Twitterbot/1.0 

Wenn ich meine RegEx geändert habe diese User-Agent zu passen, die iMessage Crawler wurde schließlich an die richtige Stelle umgeleitet.

So gibt es, es ist wahrscheinlich ohne vorherige Ankündigung geändert werden, da es nicht so weit in keiner offiziellen Apple-Dokumentation existiert, wie ich sagen kann, aber ich hoffe, dass dies noch jemand :)

+0

Das ist richtig. Neugierig, warum es Facebook/Twitter in der UA-Zeichenfolge "imitiert". Vielleicht benutzen sie eine Open-Source-Bibliothek, um die Open-Graph-Tags zu parsen? Ich würde gerne in der Lage sein, diese Anfragen zu filtern, aber hier ist nicht viel anderes als ein Webkit in Verbindung mit fb/twitter. Naja, gute Antwort. –

+0

@BenjaminOman In der Tat neugierig. Es wäre definitiv hilfreich, wenn wir einen 'User-Agent' verwenden könnten, um zwischen User Agents zu unterscheiden. Ach, das ist nicht die Logik, die Apple hier anwendet, aus welchen Gründen auch immer, die sie für sich behalten. – SimpleAnecdote

0

Mit dieser regex hilft zu identifizieren Anfragen von IMsg-Crawlern.

Twitterbot(.*)facebookexternalhit)|(facebookexternalhit(.*)Twitterbot 

Ich habe es getestet und es funktioniert perfekt.

Verwandte Themen