URL-Escaping Required or Not?


(John) #1

I’m confused about the requirement for URL-encoding of parameters in Piwik tracking requests. From everything I read, encoding is required, however if I issue a tracking transaction without encoding, it seems to work just fine.

Is encoding required or not?

Here’s my unencoded request and server response
(below, request is broken up for readability and hostnames were changed for security):

11-30 11:56:23.418: D/APP:(26835): REQUEST:

11-30 11:56:23.418: D/APP:(26835): GET /piwik/piwik.php?idsite=1
	&url=http://myserver.com/myapp.apk&rec=1&_id=39373047805d5042
	&download=http://myserver.com/myapp.apk&apiv=1
	&action_name=Downloaded http://myserver.com/myapp.apk
	&res=1080X1920&country=us&lang=en&new_visit=1&r=8887 HTTP/1.0

11-30 11:56:23.978: I/APP:(26835): RESPONSE:
11-30 11:56:23.978: I/APP:(26835): 231 bytes
11-30 11:56:23.978: I/APP:(26835): HTTP/1.1 200 OK
11-30 11:56:23.978: I/APP:(26835): Date: Mon, 30 Nov 2015 17:00:51 GMT
11-30 11:56:23.978: I/APP:(26835): Server: Apache/2.4.7 (Ubuntu)
11-30 11:56:23.978: I/APP:(26835): X-Powered-By: PHP/5.5.9-1ubuntu4.14
11-30 11:56:23.978: I/APP:(26835): Content-Length: 43
11-30 11:56:23.978: I/APP:(26835): Connection: close
11-30 11:56:23.978: I/APP:(26835): Content-Type: image/gif
11-30 11:56:23.978: I/APP:(26835): 
11-30 11:56:23.978: I/APP:(26835): GIF89a?????????????????????!?????????,??????????????D??;
11-30 11:56:23.978: I/APP:(26835): END OF RESPONSE

(John) #2

I think I found the answer: Sometimes.
I found that any SPACES not encoded as “+”, break things. Other characters like / : ; work fine unencoded.