+rragan Posted May 18, 2017 Share Posted May 18, 2017 (edited) Note: this applies to iOS but is germane to Android. Open a cache page in Safari from a link in a notification email or any other link to the cache page. . From the cache page, I can easily store that cache into a 3rd party app using the GPX button. Safari will prompt for the app to handle the download. Any app that can handle the GPX type can be sent the file. For example, this works with Cachly and Geosphere but also with other non-geocaching apps like Pocket Earth. The download file name is of the form GCCODE_title Currently, only Safari can handle the GPX file because it looks at the MIME type headers. Chrome depends on the file extension so the download cannot be directed to apps registered to support GPX files. Adding the .gpx extension would fix this and, as far as I know, allow Android file associations to offer the same capability on that platform. The Geocaching app is able to grab coord.info links and show them in the app so handling GPX is not strictly necessary. Edited May 18, 2017 by rragan Quote Link to comment
+The A-Team Posted May 18, 2017 Share Posted May 18, 2017 Note: this applies to iOS but is germane to Android. Open a cache page in Safari from a link in a notification email or any other link to the cache page. . From the cache page, I can easily store that cache into a 3rd party app using the GPX button. Safari will prompt for the app to handle the download. Any app that can handle the GPX type can be sent the file. For example, this works with Cachly and Geosphere but also with other non-geocaching apps like Pocket Earth. The download file name is of the form GCCODE_title Currently, only Safari can handle the GPX file because it looks at the MIME type headers. Chrome depends on the file extension so the download cannot be directed to apps registered to support GPX files. Adding the .gpx extension would fix this and, as far as I know, allow Android file associations to offer the same capability on that platform. The Geocaching app is able to grab coord.info links and show them in the app so handling GPX is not strictly necessary. Where are you seeing that it doesn't have a .gpx extension? I just tried it on two iPhones and saved the file into various file storage apps (e.g. OneDrive, Documents, etc.) or even attaching to a new email, and every time the file I got was named in the form "GCCODE.gpx". Quote Link to comment
+rragan Posted May 19, 2017 Author Share Posted May 19, 2017 Note: this applies to iOS but is germane to Android. Open a cache page in Safari from a link in a notification email or any other link to the cache page. . From the cache page, I can easily store that cache into a 3rd party app using the GPX button. Safari will prompt for the app to handle the download. Any app that can handle the GPX type can be sent the file. For example, this works with Cachly and Geosphere but also with other non-geocaching apps like Pocket Earth. The download file name is of the form GCCODE_title Currently, only Safari can handle the GPX file because it looks at the MIME type headers. Chrome depends on the file extension so the download cannot be directed to apps registered to support GPX files. Adding the .gpx extension would fix this and, as far as I know, allow Android file associations to offer the same capability on that platform. The Geocaching app is able to grab coord.info links and show them in the app so handling GPX is not strictly necessary. Where are you seeing that it doesn't have a .gpx extension? I just tried it on two iPhones and saved the file into various file storage apps (e.g. OneDrive, Documents, etc.) or even attaching to a new email, and every time the file I got was named in the form "GCCODE.gpx". You are correct. The download filename is GCCODE.gpx. I assumed the extension was missing because with Chrome, it shows the file as GCCODE_titletext and an option to Download. Clicking Download leads to an option to Open In... after the download. Saving the file to Dropbox and looking at the contents, I see the HTML file of the cache page. Weird. I hooked up the iPad through the Burp proxy to capture the Request/Response for Safari that works and the one for Chrome that does not. The requests are pretty much identical except for some small differences in User Agent and Cookies. The responses are identical in Content-Size and headers except for cookies and a timestamp in the GPX data. 8:57:25 PM https://www.geocaching.com:443'>https://www.geocaching.com:443 [63.251.163.200] ============================POST Request========================== POST /geocache/GC75EK8_big-yellow-taxi-iii HTTP/1.1 Host: www.geocaching.com Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us Content-Type: application/x-www-form-urlencoded Origin: https://www.geocaching.com Content-Length: 9404 Connection: close User-Agent: Mozilla/5.0 (iPad; CPU OS 9_3_5 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13G36 Safari/601.1 Referer: https://www.geocaching.com/geocache/GC75EK8_big-yellow-taxi-iii Cookie: ASP.NET_SessionId=k5u5wdtucxiqzk0z1uxfb3zv; Culture=en-US; _hjIncludedInSample=1; ai_authUser=rragan; ai_session=uFW2i|1495165162762|1495166237449.6; ai_user=jBR+J|2017-04-06T13:30:36.690Z; __gads=ID=b7e0d7e8d641016d:T=1491485456:S=ALNI_MYpiiQSiE9PuS0Igw1166FsVS1lUg; __qca=P0-908728445-1491485437091; _ga=GA1.2.58191656.1491484384; _gid=GA1.2.682400320.1495165899; gspkauth=hJ6TguPhvGiuOd3zKqB4vydK__Y_yg_d7ofdWy8-1gc3quBaVzMcU8vDVBrbbtzUNfTkeGwDE6fPiFfnMDgn81uDDPQpzhaqwP5MpHYwXp_IdtVOTndma_9-GwKpNBcAQL3NrpWFwY3pXZUq6lcPkbgID1SWnCSC9WOi1tc_Gg81 ============POST Response=================== HTTP/1.1 200 OK Cache-Control: no-cache Pragma: no-cache Content-Type: application/gpx Expires: -1 Server: Microsoft-IIS/8.5 content-disposition: attachment; filename=GC75EK8.gpx X-AspNet-Version: 4.0.30319 Set-Cookie: gspkauth=6qQiGrBcY8oa9xOoaPVy5IOhdutSJJHOe26_DR_Y3ie1qokAFbPRPhQFr23xKups_VDXlQKLjcqtc36QeizcivKIJb-4EH5a9cFEhZj7EGsioYhHpRhICzeVAe8qaAVGUUIPTUOk9HREAVXZVmSKggStpHmWKOw36PRNNIYalxU1; domain=.geocaching.com; expires=Mon, 19-Jun-2017 03:59:51 GMT; path=/; secure; HttpOnly Set-Cookie: Culture=en-US; path=/ Request-Context: appId=cid-v1:019d82c2-5dd7-44cb-aa94-01e052f0d40c X-Powered-By: ASP.NET Date: Fri, 19 May 2017 03:59:51 GMT Connection: close Content-Length: 7903 <?xml version="1.0" encoding="utf-8"?> <gpx xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" creator="Groundspeak, Inc. All Rights Reserved. http://www.Groundspeak.com" xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd http://www.Groundspeak.com/cache/1/0 http://www.Groundspeak.com/cache/1/0/cache.xsd" xmlns="http://www.topografix.com/GPX/1/0"> <name>Cache Listing Generated from Geocaching.com</name> ......rest of GPX omitted At the point the Response returns, Safari is off and running to let me pick an app to handle it. Chrome, on the other hand, goes on to issue this HEAD request ====================================================== HEAD /geocache/GC75EK8_big-yellow-taxi-iii HTTP/1.1 Host: www.geocaching.com Connection: close User-Agent: Mozilla/5.0 (iPad; CPU OS 9_3_5 like Mac OS X) AppleWebKit/601.1 (KHTML, like Gecko) CriOS/58.0.3029.113 Mobile/13G36 Safari/601.1.46 Accept-Language: en-US,en;q=0.8 Cookie: ASP.NET_SessionId=vuyyl1wjvzlj4oza0k5mbi55 ====================================================== HTTP/1.1 200 OK Cache-Control: no-cache Pragma: no-cache Content-Length: 40226 Content-Type: text/html; charset=utf-8 Expires: -1 Server: Microsoft-IIS/8.5 X-AspNet-Version: 4.0.30319 Request-Context: appId=cid-v1:019d82c2-5dd7-44cb-aa94-01e052f0d40c X-Powered-By: ASP.NET Date: Fri, 19 May 2017 03:59:55 GMT Connection: close ====================================================== The traffic examination didn't tell me much except that Chrome seems to be acting weirdly in a standard file download case. Maybe I'm missing something as Chrome not doing downloads properly is hard to believe. So, nothing is wrong with geocaching.com as far as I can see. I also tried iOS 9 and 10 with the same behavior. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.