Chilkat CkHttp DownloadBd SynchronousRequest Url 编码问题
Chilkat CkHttp DownloadBd SynchronousRequest Url Encoding Issue
库:chilkat-9.5.0.84-x86-vc9(最新版本)
(实际测试老版本也有同样问题)
问题:
Url 字符串有一个逗号 ',' 字符 eg.
hxxp://show.kanxxxx.com/ncsxxxx/sd/1611309600000,1800000.m3u8?_upt=c5e8aa9a1611395849
使用方法DownloadBd & SynchronousRequest(我相信其他方法也是如此)并通过Fiddler抓取流量,获得HTTP/1.1 403 Forbidden响应。发现逗号','编码为%2C.
使用Fiddler composer发送同样的url,发现逗号没有编码,原样发送出去。获取到的响应有效成功!
是否可以手动关闭自动 URL 编码?或者我没有包含其他方法或属性来关闭编码?
这是一个错误吗?
Chilkat 已更新以避免 URL 对路径中的逗号字符进行编码。如果您发送电子邮件至 support@chilkatsoft.com,我可以为 VC9 提供新的 v9.5.0.85 预发布版本。否则,.85版本将在本月底(一周左右)正式发布。
建议:
我预见将来可能会有其他服务器要求将逗号编码为%2C。因此,是否可以enable/disable,或者手动设置特定字符的编码。
即。类似于 strtok 函数,您可以在其中设置所需的分隔符。例如
char Sep[] = ",;\r\n";
while (xxx)
{
szTok = strtok(szData,Sep);
xxxx;
strTok = strtok(NULL,Sep);
}
提议:
CkHttp Http;
char Enc[]="+,";
Http.xxxxx(Enc,bEnable);
Http.DownloadBd(xxxxx);
只是一个建议,供您考虑。
库:chilkat-9.5.0.84-x86-vc9(最新版本)
(实际测试老版本也有同样问题)
问题:
Url 字符串有一个逗号 ',' 字符 eg.
hxxp://show.kanxxxx.com/ncsxxxx/sd/1611309600000,1800000.m3u8?_upt=c5e8aa9a1611395849
使用方法DownloadBd & SynchronousRequest(我相信其他方法也是如此)并通过Fiddler抓取流量,获得HTTP/1.1 403 Forbidden响应。发现逗号','编码为%2C.
使用Fiddler composer发送同样的url,发现逗号没有编码,原样发送出去。获取到的响应有效成功!
是否可以手动关闭自动 URL 编码?或者我没有包含其他方法或属性来关闭编码?
这是一个错误吗?
Chilkat 已更新以避免 URL 对路径中的逗号字符进行编码。如果您发送电子邮件至 support@chilkatsoft.com,我可以为 VC9 提供新的 v9.5.0.85 预发布版本。否则,.85版本将在本月底(一周左右)正式发布。
建议:
我预见将来可能会有其他服务器要求将逗号编码为%2C。因此,是否可以enable/disable,或者手动设置特定字符的编码。
即。类似于 strtok 函数,您可以在其中设置所需的分隔符。例如
char Sep[] = ",;\r\n";
while (xxx)
{
szTok = strtok(szData,Sep);
xxxx;
strTok = strtok(NULL,Sep);
}
提议:
CkHttp Http;
char Enc[]="+,";
Http.xxxxx(Enc,bEnable);
Http.DownloadBd(xxxxx);
只是一个建议,供您考虑。