Jump to content

GPX Button on Cache page


Recommended Posts

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 by rragan
Link to comment

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".

Link to comment

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.

Link to comment

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...