小编Dre*_*rew的帖子

使用 cURLpp 进行多次下载的进度指示器

我正在编写一个下载多个文件的程序(目前只有 2 个)。我试图让它使用ProgressFunction回调为每次下载显示一个进度条。我遇到的问题是我无法找出区分两个文件之间进度的方法。现在它正在两者之间切换。我曾尝试寻找任何进一步的文档,但似乎他们网站上的 API 链接已损坏,除了一些基本示例外,没有太多其他内容。

    //ProgressCalback
    double ProgressCallBack(double dltotal, double dlnow, double ultotal, double ulnow){
       double progress = (dlnow/dltotal) * 100;
       std::ostringstream strs;
       float percent = floorf(progress * 100) / 100;
       strs << percent;
       printf("%s\t%d\t%d\t%d\t%d\n", strs.str().c_str(),dltotal, dlnow, ultotal, ulnow);
       return 0;
    };

    curlpp::options::ProgressFunction progressBar(ProgressCallBack);
    request1.setOpt(new curlpp::options::Url(url1));
    request1.setOpt(new curlpp::options::Verbose(false));
    request1.setOpt(new curlpp::options::NoProgress(0));
    request1.setOpt(progressBar);
Run Code Online (Sandbox Code Playgroud)

我不完全确定我的代码的哪一部分是相关的,所以这里是与进度回调有关的部分。任何帮助,将不胜感激。

c++ curl curlpp progress-bar

7
推荐指数
2
解决办法
1031
查看次数

使用openssl子进程文件的Python STDOUT

我正在尝试编写一个python脚本来自动执行通过openSSL检查SSL重新协商的过程,并将结果输出到文件.我遇到了两个问题.

我的第一个问题是初始握手的输出被写入文件,但实际的重新协商部分没有.它显示在控制台上.

subprocess.call("echo \"R\" | openssl s_client -connect example.com:443", 
        shell=True, stdout=FILE)
Run Code Online (Sandbox Code Playgroud)

我的另一个问题(虽然这可能是错误的地方)是我无法使用openSSL命令来发送GET命令.

subprocess.call("echo -e \"GET / HTTP/1.1\r\n\r\n\" | openssl s_client -connect
        example.com:443", shell=True)   
Run Code Online (Sandbox Code Playgroud)

同样,初始连接已设置,但随后存在openSSL,它不处理GET请求.

任何帮助将不胜感激.谢谢.

python ssl openssl subprocess stdout

3
推荐指数
1
解决办法
2878
查看次数

标签 统计

c++ ×1

curl ×1

curlpp ×1

openssl ×1

progress-bar ×1

python ×1

ssl ×1

stdout ×1

subprocess ×1