Understanding Firebug behavior - multipart/form-data post

120 views
Skip to first unread message

yell...@gmail.com

unread,
Mar 24, 2014, 4:11:13 PM3/24/14
to fir...@googlegroups.com

Greetings,

I'm trying to understand a behaviour I'm seeing with Firebug.  I have a Python program that uploads files to a web site and it has a problem when the file names include Finnish characters, so I'm using Firebug to observe the same transactions through the web GUI upload.

I'm seeing a discrepancy between what Firebug says it's sending in the multipart/for-data POST versus what Wireshark says is actually going down the wire.

When I upload a file with Finnish characters using the web site's upload feature, if I inspect that POST transaction in Firebug's NET console it shows the following line describing the filename...

Content-Disposition: form-data; name="data"; filename="Hirviöiden.tcx"

(note, if this doesn't render correctly, the 'o' has the two dots above it)


However, I also captured this POST transaction with Wireshark and the same line in Wireshark shows the following...

Content-Disposition: form-data; name="data"; filename="Hirvioiden.tcx"

(The 'o' in this version is an ascii 'o' with no dots)

Why is Firebug telling me one thing and Wireshark telling me something different?  Who is changing the characters in the file name?  Is Firefox doing this after the Firebug 'wiretap'?  I would think if the Javascript running on the web page is changing the file name Firebug would show the changed version of the file name... also, from what I can tell I haven't seen any javascript related to changing the file name on the web page.  Is there some specification that describes this behaviour? 


I tend to believe the Wireshark version because my Python program works correctly when there are no Finnish characters, but fails when the file name has Finnish characters.

Your insight would be appreciated.

Thanks,

Dave L.


Sebastian Zartner

unread,
Mar 24, 2014, 6:45:17 PM3/24/14
to fir...@googlegroups.com
I tried this with a PHP script using Firefox 28.0 + Firebug 1.12.7 on Win 8.1.
It works fine for me in case the script is ISO-8859-1 encoded. I.e. I can see the 'ö' in the response header. Though in case the script is UTF-8 encoded the 'ö' is displayed as 'ö' (which may be a bug in the underlying Firefox network APIs). Though I never got an 'o' (without dots).
So is there any chance you could upload your script to reproduce your issue?

Sebastian

yell...@gmail.com

unread,
Mar 24, 2014, 7:28:28 PM3/24/14
to fir...@googlegroups.com
Sebastian,

I'm not sure what script you want to see.   The behavior I described was when using Firebug to observe the manual file upload behavior on the Garmin Connect website (http://connect.garmin.com/transfer/upload#).  You'll need to sign up for a free account if you want to watch that transaction.

Here's a link to a sample data file (http://developer.garmin.com/schemas/tcx/v2/samples/FitnessHistoryDetail.tcx).  You can rename it to include a Finnish character in the file name and try the upload.

I am trying to figure out a bug in my Python program by observing the behavior of their file upload process.  In my Python program, uploads fail when they contain the Finnish characters.  When using the manual file upload on the Garmin Connect web site, it appears to accept the filename with Finnish characters, and according to Firebug, it sends the Finnish characters in the filename.  However, when I inspect that transaction with Wireshark, the Finnish 'ö' appears to be replaced with a regular ascii 'o'.

If you wanted to see my Python program you can get it here... https://pypi.python.org/pypi/GcpUploader/2014.03.01

My main concern is why am I seeing a difference between Firebug and Wireshark in the file name?



Sorry, I forgot to include in my original post...

Firefox v28.0
Firebug v1.12.7
OS: Ubuntu 12.04



Thanks,

Dave L.
Reply all
Reply to author
Forward
0 new messages