How to set the post parameters order?

This is part of my code:

```
files = {'FileData': ("01.avi", open("H:\\Dropbox\\temp\\test\\videos\\01.avi", 'rb'), "application/octet-stream")}
url = "http://upload.test.com/api/upload_form_data"
headers = {
    "User-Agent": "Shockwave Flash",
    "Accept": "text/*",
    "Connection": "Keep-Alive",
    "Pragma": "no-cache",
    "Host": "upload.test.com"
}

data = {
    "Filename": upload_me_name,
    "upload_token": upload_token,
    "client": "flash",
    "Upload": "Submit Query"
}

r = s.post(url, proxies = proxies, headers = headers, files = files, data = data)
```

I use fiddler to trace the post process and I got the following result.

```
POST http://upload.test.com/api/upload_form_data HTTP/1.1
Accept-Encoding: gzip, deflate, compress
Accept: text/*
Content-Type: multipart/form-data; boundary=35b35bbdadc54949a1e280d19fa85850
Connection: Keep-Alive
Pragma: no-cache
Host: upload.test.com
Cookie:     yktk=1%7C1387481091%7C15%7CaWQ6NjMxMDQwMjksbm465ZCR5L2g6IKa5a2Q5LiK5ouN5LiA5o6MLHZpcDpmYWxzZSx5dGlkOjAsdGlkOjA%3D%7Ce2af70d5dc486fb7daf96eb31011bf65%7Cda22    5886e18eff748b67f650accb1b75810e42d1%7C1; u=%E5%90%91%E4%BD%A0%E8%82%9A%E5%AD%90%E4%B8%8A%E6%8B%8D%E4%B8%80%E6%8E%8C; ykss=fd47b352415e60cf5699819e;     _l_lgi=63104029
User-Agent: Shockwave Flash
Content-Length: 162469

--35b35bbdadc54949a1e280d19fa85850
Content-Disposition: form-data; name="upload_token"

MTg0ODQ4NjgwXzAxMDA2NDNBQTI1MkFGNTQ1QUJBRUMwM0MyRTQxRERFNjA0NUUyLTg4QUEtQ0Q5Ny1BNkRBLUQ2MkIyOTA3Rjk4N18xXzdmYWI3ZGU0MDkzYzdhMTA0OTkyMmM1NjczNThkMWYw
--35b35bbdadc54949a1e280d19fa85850
Content-Disposition: form-data; name="client"

flash
--35b35bbdadc54949a1e280d19fa85850
Content-Disposition: form-data; name="Upload"

Submit Query
--35b35bbdadc54949a1e280d19fa85850
Content-Disposition: form-data; name="Filename"

01.avi
--35b35bbdadc54949a1e280d19fa85850
Content-Disposition: form-data; name="FileData"; filename="01.avi"
Content-Type: application/octet-stream

<File data .....................>
```

However, that's not what exactly I want. I need the parameters in different order like this:

```
POST http://upload.test.com/api/upload_form_data HTTP/1.1
Accept-Encoding: gzip, deflate, compress
Accept: text/*
Content-Type: multipart/form-data; boundary=35b35bbdadc54949a1e280d19fa85850
Connection: Keep-Alive
Pragma: no-cache
Host: upload.test.com
Cookie:     yktk=1%7C1387481091%7C15%7CaWQ6NjMxMDQwMjksbm465ZCR5L2g6IKa5a2Q5LiK5ouN5LiA5o6MLHZpcDpmYWxzZSx5dGlkOjAsdGlkOjA%3D%7Ce2af70d5dc486fb7daf96eb31011bf65%7Cda22    5886e18eff748b67f650accb1b75810e42d1%7C1; u=%E5%90%91%E4%BD%A0%E8%82%9A%E5%AD%90%E4%B8%8A%E6%8B%8D%E4%B8%80%E6%8E%8C; ykss=fd47b352415e60cf5699819e;     _l_lgi=63104029
User-Agent: Shockwave Flash
Content-Length: 162469

--35b35bbdadc54949a1e280d19fa85850
Content-Disposition: form-data; name="upload_token"

MTg0ODQ4NjgwXzAxMDA2NDNBQTI1MkFGNTQ1QUJBRUMwM0MyRTQxRERFNjA0NUUyLTg4QUEtQ0Q5Ny1BNkRBLUQ2MkIyOTA3Rjk4N18xXzdmYWI3ZGU0MDkzYzdhMTA0OTkyMmM1NjczNThkMWYw
--35b35bbdadc54949a1e280d19fa85850
Content-Disposition: form-data; name="client"

flash
--35b35bbdadc54949a1e280d19fa85850
Content-Disposition: form-data; name="Filename"

01.avi
--35b35bbdadc54949a1e280d19fa85850
Content-Disposition: form-data; name="FileData"; filename="01.avi"
Content-Type: application/octet-stream

<File data .....................>

--35b35bbdadc54949a1e280d19fa85850
Content-Disposition: form-data; name="Upload"

Submit Query
```

How to do this in requests? Thank you!


Firstly, the correct place to ask this question is not here: this is for tracking bugs only. You should ask your question at StackOverflow, and use the "python-requests" tag.

Secondly, why does the order matter? It shouldn't affect the remote web site at all.

Finally, the correct code is this:

``` python
files = [
    ('upload_token', upload_token),
    ('client', 'flash'),
    ('Filename', upload_me_name),
    ('FileData', ("01.avi", open("H:\\Dropbox\\temp\\test\\videos\\01.avi", 'rb'), "application/octet-stream")),
    ('Upload', 'Submit Query'),
]

url = "http://upload.test.com/api/upload_form_data"
headers = {
    "User-Agent": "Shockwave Flash",
    "Accept": "text/*",
    "Connection": "Keep-Alive",
    "Pragma": "no-cache",
}

r = s.post(url, proxies = proxies, headers = headers, files = files)
```