Dragon
Dragon

Reputation: 13

Chilkat CkHttp DownloadBd SynchronousRequest Url Encoding Issue

  1. Library : chilkat-9.5.0.84-x86-vc9 (Latest Version)

    (Actually tested older versions also have the same issue)

  2. Problem :

    Url string has a comma ',' character eg.

    hxxp://show.kanxxxx.com/ncsxxxx/sd/1611309600000,1800000.m3u8?_upt=c5e8aa9a1611395849

    Use Methods DownloadBd & SynchronousRequest (I believe other methods as well) and capture traffics via Fiddler, obtains HTTP/1.1 403 Forbidden response. It is found that the comma ',' is encoded as %2C.

    Using Fiddler composer to send the same url, it is found that the comma is not encoded, it is sent out as it is. The obtained response is valid successful !

  3. Is it possible to manually turn off the auto URL encoding ? or I did not include other methods or properties to turn off the encoding ?

  4. Is it a bug ?

Upvotes: 1

Views: 202

Answers (2)

Dragon
Dragon

Reputation: 13

Suggestion :

I foresee that in the future, there may be other servers which require the comma to be encoded as %2C. Hence, is it possible to enable/disable, or set the encoding of specific character manually.

ie. something like strtok function where you set the required separators. eg.

char Sep[] = ",;\r\n"; 

while (xxx) 
{
   szTok = strtok(szData,Sep);
   xxxx;
   strTok = strtok(NULL,Sep);
} 

Proposal :

CkHttp Http;
char Enc[]="+,";

Http.xxxxx(Enc,bEnable);
Http.DownloadBd(xxxxx);

Just a suggestion for your consideration.

Upvotes: 0

Chilkat Software
Chilkat Software

Reputation: 1624

Chilkat has been updated to avoid URL encoding the comma character in the path. I can provide a new v9.5.0.85 pre-release build for VC9 if you email [email protected]. Otherwise, the .85 version will be officially released at the end of this month (in about a week).

Upvotes: 1

Related Questions