Chilkat CkHttp下载BD SynchronousRequest Url编码问题

Chilkat CkHttp下载BD SynchronousRequest Url编码问题,http,chilkat,Http,Chilkat,库:chilkat-9.5.0.84-x86-vc9(最新版本) (实际测试的旧版本也有相同的问题) 问题: Url字符串有一个逗号“,”字符,例如 hxxp://show.kanxxxx.com/ncsxxxx/sd/1611309600000,1800000.m3u8?\u upt=c5e8aa9a1611395849 使用方法DownloadBd和SynchronousRequest(我相信还有其他方法)并通过Fiddler捕获流量,获得HTTP/1.1 403禁止响应。发现逗号“,”编

库:chilkat-9.5.0.84-x86-vc9(最新版本)

(实际测试的旧版本也有相同的问题)

  • 问题:

    Url字符串有一个逗号“,”字符,例如

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

    使用方法DownloadBd和SynchronousRequest(我相信还有其他方法)并通过Fiddler捕获流量,获得HTTP/1.1 403禁止响应。发现逗号“,”编码为%2C

    使用Fiddler composer发送相同的url时,发现逗号没有编码,而是按原样发送。获得的响应有效且成功

  • 是否可以手动关闭自动URL编码?或者我没有包含其他方法或属性来关闭编码

  • 是虫子吗


  • Chilkat已更新,以避免URL对路径中的逗号字符进行编码。如果您发送电子邮件,我可以为VC9提供新的v9.5.0.85预发布版本support@chilkatsoft.com. 否则,.85版本将在本月底(大约一周后)正式发布。

    建议:

    我预计将来可能会有其他服务器需要将逗号编码为%2C。因此,可以手动启用/禁用或设置特定字符的编码

    例如,类似于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);
    

    仅供参考。

    请参考上述建议。测试了新的v9.5.0.85,SynchronousRequest方法不起作用,并验证逗号仍然编码为%2C。使用DownloadBd和DownloadSb方法进行测试,逗号按原样发送。因此,返回的响应有效且成功。使用最新的Feb版本9.5.0.86-x86-vc9再次测试,SynchronousRequest方法仍然将逗号编码为“%2C”并发送。DownloadBd和DownloadSb方法没有此类问题。