python requests post to url query parameter requires special character

Summary.
I am using python requests to submit a post request to a specific url. This url has a query parameter that contains the actual filepath of the file I am uplaoding, with the actual colon (':') and backslashes('\') (it will not accept %3A, or %5C). I have no idea what to do.

Here is my code:
```
with requests.Session() as s:

 payload_10_vo_params = {
    'hidInputControlValues': this_hidInputControlValues10,
    'hidFormNames': this_hidFormNames10,
    'hidToken': this_hidToken10,
    'hidFileNm': r"C:\fakepath\{}".format(this_FileName),
    'hidFileSourceId': '',
    'ReUploadInd': ''
}

payload10_mpe_vo = MultipartEncoder(
    [
        ('hidLoanTranSaveFlag', 'TRUE'),
        ('hidUpfrontMIPct', ''),
        ('radLeadRequestOptBtnImportRetNum', 'LUPL'),
        ('txtCorrCompId', ''),
        ('cboLeadRequestFileTypCd', 'DU32'),
        ('txtLeadRequestSelectFile', (this_FileName, open(this_FileName, 'rb'), 'application/octet-stream')),
        ('txaLoanTranComments', ''),
    ], boundary=ct_disp_bndry_10_final_str)

headers10 = {
    "Accept": "application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*",
    "Accept-Language": "en-US",
    "User-Agent": "Mozilla/5.0 (compatible; MSIE 7.0; Windows NT 6.1; Win64; x64; Trident/7.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; Tablet PC 2.0)",
    "UA-CPU": "AMD64",
    "Content-Type": "multipart/form-data; boundary={}".format(ct_disp_bndry_10_final_str),
    "Referer": "referer string",
    "Host": "host string"}

resp10 = s.post(url10, headers=headers10, params=payload_10_vo_params,  data=payload10_mpe_vo)  
```

POST request from fiddler:

```
POST /SRVCorrBP/LeadMgmt/Application/Lead/LeadSubmitNew.jsp?hidInputControlValues=�DU32�Y�LUPL�C%3A%5CFAKEPATH%5CMAYRA%20CORTEZ.FNM�&hidFormNames=�frmLoanTran~TRUE~�&hidToken=1508961847871LSXG_EDTLeadSummary&hidFileNm=C:\fakepath\filename&hidFileSourceId=&ReUploadInd=
```

This is what I get instead:

```
/SRVCorrBP/LeadMgmt/Application/Lead/LeadSubmitNew.jsp?hidInputControlValues=%C2%A7DU32%C2%A7Y%C2%A7LUPL%C2%A7C%3A%5CFAKEPATH%5CBOPPPMVO.FNM%C2%A7&hidFormNames=%C2%A7frmLoanTran~TRUE~%C2%A7&hidToken=1512952710233LSXG_EDTLeadSummary&hidFileNm=C%3A%5Cfakepath%5Cfilename&hidFileSourceId=&ReUploadInd=
```

As you can see, the `hidFileNm` parameter is supposed to be `hidFileNm=hidFileNm=C:\fakepath\filename`

But my request is posting as: `hidFileNm=C%3A%5Cfakepath%5Cfilename`



Here's the problem, if your server won't accept a request that follows the RFC, there's little that we can actually do to fix this in Requests. Since Requests is doing the right thing here, I suggest you contact the server owner to fix their specification incompatible server. To get this working in the interim, I suggest you handle the query parameters yourself. This likely means building the URL yourself and not relying on Requests for this. For more help with that, please use [StackOverflow](https://stackoverflow.com/questions/tagged/python-requests) as this is not a question and answer forum.