What is the user agent string for iOS / MacOS iMessage? - ios

I'm parsing s3 logs to identify requests made from iMessage previews (on Mac OS Sierra & iOS 10).
There are few common types of UA strings, but I can't tell which are from the browser vs. imessage. I'm hoping it's a unique UA from Safari:
`AppleCoreMedia/1.0.0.14B100 (iPhone; U; CPU OS 10_1_1 like Mac OS X; en_us)
^ Gotta be iOS Safari, right?
2.MobileSMS/1.0 CFNetwork/808.1.4 Darwin/16.1.0`
^ I think MobileSMS means imessage (hopefully)
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 via webkit webview?
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
^ more iOS Chrome (i see you CriOS)
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
^ more iOS Chrome?
Twitter/5002568 CFNetwork/760.6.3 Darwin/15.6.0 (x86_64)
^ Twitter

I've just faced the same issue while trying to re-route the iMessage crawler to a non-angular page which will generate the correct meta tags for it and found this question in the process. Figured I'd write an answer since I've now found it. Apple's documentation says nothing but mention the ...(Applebot/x.x) User-Agent which is not the correct one. I've found nothing on the internet so I logged traffic to just one file on a public server and shared the link via iMessage. In the log file I received:
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
When I've modified my RegEx to fit this User-Agent, the iMessage crawler was finally re-routed to the correct location.
So there it is, it's probably subject to change without notice since it does not exist in any official Apple documentation as far as I can tell but I hope this still helps someone :)

Use this regex to identify requests from IMsg crawlers.
(Twitterbot(.*)facebookexternalhit)|(facebookexternalhit(.*)Twitterbot)
I have tested it and it works perfectly.

Related

HTTP user-agent of iOS SocialUIService?

When using the native iOS share dialog UIActivityViewController inside you own App and starting to share a link via the Facebook icon a SocialUIService is in the background crawling the link/website for additional information.
What HTTP user-agent has this SocialUIService service?
From what I can tell, when the SocialUIService fetches the link in the background, the user agent is:
Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12B440
Where if you were to click on the link in Safari, it would look like this:
Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B440 Safari/600.1.4
Notice the two missing pieces are Version/8.0 and Safari/600.1.4

IBM Worklight 6.0 - Reports log for Windows Phone 8 display a USER_AGENT than other environments

My team is facing some layout issues on Windows Phone 8 for our App that extensively uses JQuery 1.3.1, which by the way works like a charm on Android and iOS.
Doing some investigation we noticed the USER_AGENT column on the reports table APP_ACTIVITY_REPORT is missing a bit of info comparing to similar entries for other OS.
Android
Mozilla/5.0 (Linux; U; Android 4.1.2; pt-br; GT-N8000 Build/JZO54K)
AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0
Safari/534.30/Worklight/6.0.0
iOS
Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_2 like Mac OS X)
AppleWebKit/537.51.1 (KHTML, like Gecko) Mobile/11A501
(391584416)/Worklight/6.0.0 Mozilla/5.0 (iPad; CPU OS 7_0_2 like Mac
OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Mobile/11A501
(384361824)/Worklight/6.0.0
Windows Phone 8
Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0;
IEMobile/10.0; ARM; Touch; NOKIA; Lumia 720) <---- NO WORKLIGHT
STRING PRESENT
The question is more about if for some reason this /Worklight/6.0.0 segment present on both Android and iOS indicates that something is wrong with the WP8 environment, which could be affecting the performance of jQuery Mobile WP8 app in Worklight?
The "Worklight" string in the user agent is used for supporting IBM WebSphere Portal and it is not related to anything else you have mentioned re jQuery Mobile performance in Windows Phone 8.
The "Worklight" string does not appear in the Windows Phone 8 user agent because it was not implemented to be there. Again, this is of no consequence to you in regards to this question.

Which browser have this strange user agent? (IOS device)

I recently notice that approximately 17 % of users with ios device have browser with strange user agent. This user agent like the Safari user agent but with slight modification: it does not contain "Safari/XXXX" string.
Example:
normal user agent of Safari:
Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25
user agent of browser that i talk:
Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d
Can somebody explain me, how it can be? Which browser have this strange user agent?
The shorter user agent comes when an ipad enters "web app" mode. This means that a phone is parsing the html only using webkit, in full screen mode, not within a safari browser window. Thus only the information about CPU version, webkit version, etc is sent along.
http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html
Additional discussion can be found on this very similar post:
ipad user agent changes during use?

Mobile Twitter site refuses Webview as client

I'm trying to view a users tweets from my app but twitter responses with a webpage saying:
Sorry that page is not supported on mobile at this time
However if i load the same URL with mobile safari i get a nice webpage with all the tweets.
I'm using this URL: http://mobile.twitter.com/SOME_USERNAME/tweets
You can reproduce the error message by visiting the url in safari. If you use safari as developer and you set the user agent to iPhone you'll get the right page.
It seems the webview is sending different headers as User Agent:
Mozilla/5.0 (iPhone Simulator; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176
vs
Mozilla/5.0 (iPhone Simulator; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B176 Safari/7534.48.3
Is there anything i could do about this problem?
Apperently it does work when i remove the /tweets part of the URL.
This is not really the answer to my question but it is the best option as long as nobody comes up with a better answer i'll accept this answer.

Find iPhone Model Information via Browser

Is it possible to get the model information of an iPhone hitting a web page? I've looked at the User Agent, but it doesn't seem to have this information encoded within it. Essentially, I want to do this but from a browser.
They do have different user agent strings. iPhone 4 is
Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7
You can find the complete list here: http://www.zytrax.com/tech/web/mobile_ids.html

Resources