Reputation: 13
Library : chilkat-9.5.0.84-x86-vc9 (Latest Version)
(Actually tested older versions also have the same issue)
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 !
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 ?
Is it a bug ?
Upvotes: 1
Views: 202
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
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