Skip to content

POST request with url encoded content where any parameter will contain the space character in its value #2

@Yurijj

Description

@Yurijj

Hello,

I'm trying to do POST request to some API resource and I need to pass a few parameters as a request body, one of parameter has a value with space character.
The parameter name is "name" and its value is "Fiddler Root.cer". As you can see file name contains a space character.

Content has been created with help of class FormUrlEncodedContent, e.g.

Content = new FormUrlEncodedContent(....

The request example here:

POST https://api.website.com/v1_1/upload HTTP/1.1
Content-Type: application/x-www-form-urlencoded
name=Fiddler+Root.cer&folderId=QhF3PaxT&size=950

But as you can see I have an error, Invalid signature. I think that during the generation and signing of oauth header signature, HttpClientExtras lib has double encoding problem.

HTTP/1.1 401 Unauthorized
Set-Cookie: classicView=false; Domain=4shared.com; Expires=Sat, 27-Jan-2018 16:10:32 GMT; Path=/
Server: 292
Vary: *
Content-Type: application/json;charset=UTF-8
Content-Length: 469
Date: Sun, 07 Feb 2016 16:10:32 GMT

{"message":"Unauthorized.","code":"401.0300","cause":"Invalid signature. Signature base string : POST&https%3A%2F%2Fapi.website.com%2Fv1_1%2Fupload&folderId%3DIZse5M9o%26name%3DFiddler%2520Root.cer%26oauth_consumer_key%3D984c186378bb8f1c39e3928417ac0b63%26oauth_nonce%3Dzfgwi9456eoxj7f4%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1454861431%26oauth_token%3Ded0137b644dd042aa534392cd0eb0dda%26oauth_version%3D1.0%26size%3D950 Signature method : HMAC-SHA1"}

Could you please take a look to any POST request with url encoded content where any parameter will contain the space character in its value?
Could you approve or decline my suggestion about the double encoding in your lib?
Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions