修复流式信息出现libcurl句柄问题
This commit is contained in:
parent
ba8d6edd14
commit
7cfbfae6d8
Binary file not shown.
158
build/.ninja_log
158
build/.ninja_log
@ -1,102 +1,66 @@
|
||||
# ninja log v6
|
||||
7383 58680 7626079855155628 CMakeFiles/ctai.dir/src/ctai.cpp.obj c7f0e07034d2e115
|
||||
7401 12823 7626079855335805 CMakeFiles/ctai.dir/src/ctai_switch_control.cpp.obj ddca150b42c8a71b
|
||||
12960 21531 7626079910924231 CMakeFiles/ctai.dir/qrc_res.cpp.obj 9f74f1f5e59b5b50
|
||||
7390 47014 7626079855220635 CMakeFiles/ctai.dir/src/ctai_history_widget.cpp.obj 46c079d0c729ba31
|
||||
7406 50500 7626079855375765 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj 6fa8a641137702e0
|
||||
4864 36817 7625506355308043 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 10751092db60a69f
|
||||
7092 13031 7624392729099354 CMakeFiles/ctai.dir/src/ctai_session_docker.cpp.obj 215fc89727d9e8c1
|
||||
16 7381 7626079854135217 ctai_autogen/timestamp da3870ebc94b983e
|
||||
7386 39010 7626079855185600 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj b2496aab435c15c7
|
||||
302 529 7626054468283748 F:/SourceCode/ctai/build/qrc_res.cpp 9794859fafc6825
|
||||
12823 19305 7626079909555613 CMakeFiles/ctai.dir/src/sui_sys_style.cpp.obj 3bdd07348bd84970
|
||||
7394 52185 7626079855260627 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj 22d5a962360b4db1
|
||||
16 7381 7626079854135217 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
16 7381 7626079854135217 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
12844 29360 7626079909756177 CMakeFiles/ctai.dir/src/sui_title.cpp.obj e026b4b712cf9da4
|
||||
7399 51372 7626079855305649 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 578ff58396e1bb80
|
||||
4857 36686 7625506355235589 CMakeFiles/ctai.dir/src/ctai_msg_table.cpp.obj d5f943362cb1824b
|
||||
7396 12844 7626079855280611 CMakeFiles/ctai.dir/src/ctai_session_setting.cpp.obj 4538c80be30eb6bc
|
||||
7392 11770 7626079855240646 CMakeFiles/ctai.dir/src/ctai_parsestring.cpp.obj c7ba770f3578d195
|
||||
7388 46575 7626079855205579 CMakeFiles/ctai.dir/src/ctai_history_textedit.cpp.obj d5c3d6d5615d47d0
|
||||
7385 12960 7626079855165617 CMakeFiles/ctai.dir/src/ctai_cmd.cpp.obj 80d6964d23a3e9c5
|
||||
7403 12662 7626079855355784 CMakeFiles/ctai.dir/src/ctai_tabbar.cpp.obj 41b68d110b3c0daf
|
||||
19305 20061 7626079974370381 CMakeFiles/ctai.dir/sui.rc.obj e30df163c9cbe567
|
||||
7381 59159 7626079855135653 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj 696927afe9114740
|
||||
302 529 7626054468283748 qrc_res.cpp 9794859fafc6825
|
||||
11771 28989 7626079899025136 CMakeFiles/ctai.dir/src/sui.cpp.obj e1630d781a04e855
|
||||
16 7381 7626079854135217 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
59159 70147 7626080372907471 F:/SourceCode/ctai/release/ctai.exe 4d63155bd63d4759
|
||||
7096 13484 7624392729149768 CMakeFiles/ctai.dir/src/ctai_session_table.cpp.obj 5bacfc2db149ebf7
|
||||
7408 53206 7626079855405832 CMakeFiles/ctai.dir/src/main.cpp.obj 77280178abb968fc
|
||||
12662 38636 7626079907940824 CMakeFiles/ctai.dir/src/sui_base_ex.cpp.obj 476c94d1f2c8cfea
|
||||
16 6799 7626094936437213 ctai_autogen/timestamp da3870ebc94b983e
|
||||
16 6799 7626094936437213 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
16 6799 7626094936437213 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
16 6799 7626094936437213 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
6820 11551 7626094937733457 CMakeFiles/ctai.dir/src/ctai_switch_control.cpp.obj 5b4f3fa17aadf05d
|
||||
6823 11650 7626094937761135 CMakeFiles/ctai.dir/src/ctai_tabbar.cpp.obj eeafbafed35daaf2
|
||||
6815 11759 7626094937673639 CMakeFiles/ctai.dir/src/ctai_session_setting.cpp.obj 97bcecdc81f8d69a
|
||||
6804 11907 7626094937567230 CMakeFiles/ctai.dir/src/ctai_cmd.cpp.obj f2014334430e71bd
|
||||
6806 34432 7626094937587167 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj 511f74c0fcaa2e5f
|
||||
16 4723 7626095343193695 ctai_autogen/timestamp da3870ebc94b983e
|
||||
16 4723 7626095343193695 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
16 4723 7626095343193695 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
16 4723 7626095343193695 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
4748 8878 7626095344479039 CMakeFiles/ctai.dir/src/sui_sys_style.cpp.obj e3d97ea8bc1d2b2c
|
||||
4753 10111 7626095344533870 CMakeFiles/ctai.dir/qrc_res.cpp.obj dd75527ee8dace65
|
||||
4742 18062 7626095344408993 CMakeFiles/ctai.dir/src/sui.cpp.obj 42bed78c7899bffd
|
||||
4751 18066 7626095344513825 CMakeFiles/ctai.dir/src/sui_title.cpp.obj 226322322265d1f8
|
||||
4745 24869 7626095344451563 CMakeFiles/ctai.dir/src/sui_base_ex.cpp.obj 4278f5aab5827fc6
|
||||
4728 39193 7626095344279213 CMakeFiles/ctai.dir/src/ctai_history_textedit.cpp.obj 9afc647ddec3b160
|
||||
4730 39220 7626095344296609 CMakeFiles/ctai.dir/src/ctai_history_widget.cpp.obj ff767b1a439cfa8f
|
||||
4738 43325 7626095344388240 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj 30e97d05c008cea2
|
||||
4737 44439 7626095344368259 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 44a14cc778bf0b
|
||||
4740 44583 7626095344407357 CMakeFiles/ctai.dir/src/main.cpp.obj cdab1c27daa47f87
|
||||
4734 44810 7626095344338233 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj d12cfe3d50990a54
|
||||
4726 48644 7626095344261763 CMakeFiles/ctai.dir/src/ctai.cpp.obj f1f03f3c05222920
|
||||
4724 50206 7626095344234221 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj 17adb079db0c1349
|
||||
18 4959 7626100270120785 ctai_autogen/timestamp da3870ebc94b983e
|
||||
18 4959 7626100270120785 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
18 4959 7626100270120785 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
18 4959 7626100270120785 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
4980 5212 7626100271326872 CMakeFiles/ctai.dir/sui.rc.obj 8caec2f89e692c3b
|
||||
4969 7174 7626100271213174 CMakeFiles/ctai.dir/src/ctai_parsestring.cpp.obj e7088975ee9d75b9
|
||||
4965 37689 7626100271170417 CMakeFiles/ctai.dir/src/ctai_history_textedit.cpp.obj 9afc647ddec3b160
|
||||
4967 37911 7626100271193199 CMakeFiles/ctai.dir/src/ctai_history_widget.cpp.obj ff767b1a439cfa8f
|
||||
4976 42558 7626100271278798 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj 30e97d05c008cea2
|
||||
4973 43773 7626100271256523 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 44a14cc778bf0b
|
||||
4978 44360 7626100271298778 CMakeFiles/ctai.dir/src/main.cpp.obj cdab1c27daa47f87
|
||||
4971 44642 7626100271233155 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj d12cfe3d50990a54
|
||||
4962 48705 7626100271140359 CMakeFiles/ctai.dir/src/ctai.cpp.obj f1f03f3c05222920
|
||||
4960 50397 7626100271120321 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj 17adb079db0c1349
|
||||
50397 71973 7626100725493529 F:/SourceCode/ctai/release/ctai.exe bbede5bc6dd5d74a
|
||||
18 305 7626106162614347 ctai_autogen/timestamp da3870ebc94b983e
|
||||
18 305 7626106162614347 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
18 305 7626106162614347 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
18 305 7626106162614347 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
306 16084 7626106165485061 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj 511f74c0fcaa2e5f
|
||||
308 24704 7626106165519846 CMakeFiles/ctai.dir/src/ctai_history_textedit.cpp.obj 9afc647ddec3b160
|
||||
24704 36118 7626106409487508 F:/SourceCode/ctai/release/ctai.exe bbede5bc6dd5d74a
|
||||
26 295 7626107126004513 ctai_autogen/timestamp da3870ebc94b983e
|
||||
26 295 7626107126004513 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
26 295 7626107126004513 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
26 295 7626107126004513 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
17 299 7626107530168204 ctai_autogen/timestamp da3870ebc94b983e
|
||||
17 299 7626107530168204 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
17 299 7626107530168204 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
17 299 7626107530168204 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
300 17843 7626107532992409 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj 511f74c0fcaa2e5f
|
||||
17843 29342 7626107708431578 F:/SourceCode/ctai/release/ctai.exe bbede5bc6dd5d74a
|
||||
19 304 7626109402581002 ctai_autogen/timestamp da3870ebc94b983e
|
||||
19 304 7626109402581002 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
19 304 7626109402581002 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
19 304 7626109402581002 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
304 19584 7626109405446511 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj 511f74c0fcaa2e5f
|
||||
19584 30432 7626109598248568 F:/SourceCode/ctai/release/ctai.exe bbede5bc6dd5d74a
|
||||
302 529 7626054468283748 F:/SourceCode/ctai/build/qrc_res.cpp 9794859fafc6825
|
||||
20 312 7626110238955525 ctai_autogen/timestamp da3870ebc94b983e
|
||||
20 312 7626110238955525 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
20 312 7626110238955525 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
20 312 7626110238955525 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
313 18539 7626110241890638 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj 511f74c0fcaa2e5f
|
||||
7092 13031 7624392729099354 CMakeFiles/ctai.dir/src/ctai_session_docker.cpp.obj 215fc89727d9e8c1
|
||||
4864 36817 7625506355308043 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 10751092db60a69f
|
||||
4976 42558 7626100271278798 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj 30e97d05c008cea2
|
||||
4967 37911 7626100271193199 CMakeFiles/ctai.dir/src/ctai_history_widget.cpp.obj ff767b1a439cfa8f
|
||||
4753 10111 7626095344533870 CMakeFiles/ctai.dir/qrc_res.cpp.obj dd75527ee8dace65
|
||||
20 312 7626110238955525 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
4971 44642 7626100271233155 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj d12cfe3d50990a54
|
||||
6820 11551 7626094937733457 CMakeFiles/ctai.dir/src/ctai_switch_control.cpp.obj 5b4f3fa17aadf05d
|
||||
4962 48705 7626100271140359 CMakeFiles/ctai.dir/src/ctai.cpp.obj f1f03f3c05222920
|
||||
20 312 7626110238955525 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
4751 18066 7626095344513825 CMakeFiles/ctai.dir/src/sui_title.cpp.obj 226322322265d1f8
|
||||
4973 43773 7626100271256523 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 44a14cc778bf0b
|
||||
4857 36686 7625506355235589 CMakeFiles/ctai.dir/src/ctai_msg_table.cpp.obj d5f943362cb1824b
|
||||
6815 11759 7626094937673639 CMakeFiles/ctai.dir/src/ctai_session_setting.cpp.obj 97bcecdc81f8d69a
|
||||
4969 7174 7626100271213174 CMakeFiles/ctai.dir/src/ctai_parsestring.cpp.obj e7088975ee9d75b9
|
||||
308 24704 7626106165519846 CMakeFiles/ctai.dir/src/ctai_history_textedit.cpp.obj 9afc647ddec3b160
|
||||
6804 11907 7626094937567230 CMakeFiles/ctai.dir/src/ctai_cmd.cpp.obj f2014334430e71bd
|
||||
6823 11650 7626094937761135 CMakeFiles/ctai.dir/src/ctai_tabbar.cpp.obj eeafbafed35daaf2
|
||||
4980 5212 7626100271326872 CMakeFiles/ctai.dir/sui.rc.obj 8caec2f89e692c3b
|
||||
4960 50397 7626100271120321 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj 17adb079db0c1349
|
||||
302 529 7626054468283748 qrc_res.cpp 9794859fafc6825
|
||||
4742 18062 7626095344408993 CMakeFiles/ctai.dir/src/sui.cpp.obj 42bed78c7899bffd
|
||||
20 312 7626110238955525 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
18539 29807 7626110424156190 F:/SourceCode/ctai/release/ctai.exe bbede5bc6dd5d74a
|
||||
4745 24869 7626095344451563 CMakeFiles/ctai.dir/src/sui_base_ex.cpp.obj 4278f5aab5827fc6
|
||||
4978 44360 7626100271298778 CMakeFiles/ctai.dir/src/main.cpp.obj cdab1c27daa47f87
|
||||
7096 13484 7624392729149768 CMakeFiles/ctai.dir/src/ctai_session_table.cpp.obj 5bacfc2db149ebf7
|
||||
18 5097 7626113129573703 ctai_autogen/timestamp da3870ebc94b983e
|
||||
18 5097 7626113129573703 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
18 5097 7626113129573703 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
18 5097 7626113129573703 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
5102 27531 7626113130732535 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj 511f74c0fcaa2e5f
|
||||
5107 40373 7626113130794872 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj 30e97d05c008cea2
|
||||
5105 41606 7626113130777479 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 44a14cc778bf0b
|
||||
5110 41840 7626113130818153 CMakeFiles/ctai.dir/src/main.cpp.obj cdab1c27daa47f87
|
||||
5104 42037 7626113130759961 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj d12cfe3d50990a54
|
||||
5100 45613 7626113130715147 CMakeFiles/ctai.dir/src/ctai.cpp.obj f1f03f3c05222920
|
||||
5098 47450 7626113130697750 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj 17adb079db0c1349
|
||||
47451 59001 7626113554232029 F:/SourceCode/ctai/release/ctai.exe bbede5bc6dd5d74a
|
||||
26 5281 7626118030849102 ctai_autogen/timestamp da3870ebc94b983e
|
||||
26 5281 7626118030849102 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
26 5281 7626118030849102 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
26 5281 7626118030849102 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
18 5237 7626118451724977 ctai_autogen/timestamp da3870ebc94b983e
|
||||
18 5237 7626118451724977 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
18 5237 7626118451724977 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
18 5237 7626118451724977 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
5242 27105 7626118452872000 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj 511f74c0fcaa2e5f
|
||||
5250 39767 7626118452959188 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj 30e97d05c008cea2
|
||||
5248 41203 7626118452924396 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 44a14cc778bf0b
|
||||
5253 41395 7626118452969228 CMakeFiles/ctai.dir/src/main.cpp.obj cdab1c27daa47f87
|
||||
5245 41406 7626118452907010 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj d12cfe3d50990a54
|
||||
5240 44971 7626118452856952 CMakeFiles/ctai.dir/src/ctai.cpp.obj f1f03f3c05222920
|
||||
5238 46923 7626118452822166 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj 17adb079db0c1349
|
||||
46923 59102 7626118869689173 F:/SourceCode/ctai/release/ctai.exe bbede5bc6dd5d74a
|
||||
19 296 7626124060032869 ctai_autogen/timestamp da3870ebc94b983e
|
||||
19 296 7626124060032869 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
19 296 7626124060032869 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
19 296 7626124060032869 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
322 18468 7626124063044093 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj 511f74c0fcaa2e5f
|
||||
18469 29607 7626124244517930 F:/SourceCode/ctai/release/ctai.exe bbede5bc6dd5d74a
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
release/ctai.exe
BIN
release/ctai.exe
Binary file not shown.
@ -1,7 +1,8 @@
|
||||
#include "ctai_curl.h"
|
||||
|
||||
ctai_curl::ctai_curl() : m_curl(nullptr),
|
||||
m_headers(nullptr)
|
||||
m_headers(nullptr),
|
||||
m_initialized(false) // 初始化标志
|
||||
{
|
||||
}
|
||||
ctai_curl::~ctai_curl()
|
||||
@ -257,58 +258,77 @@ void ctai_curl::set_send_post_option()
|
||||
}
|
||||
void ctai_curl::set_send_post_opts_reset()
|
||||
{
|
||||
curl_easy_reset(m_curl);
|
||||
m_headers = nullptr;
|
||||
curl_easy_setopt(m_curl, CURLOPT_NOSIGNAL, 1L);
|
||||
curl_easy_setopt(m_curl, CURLOPT_POSTFIELDS, NULL);
|
||||
curl_easy_setopt(m_curl, CURLOPT_POST, 0L);
|
||||
curl_easy_setopt(m_curl, CURLOPT_URL, NULL);
|
||||
curl_easy_setopt(m_curl, CURLOPT_POSTFIELDSIZE, 0);
|
||||
curl_easy_setopt(m_curl, CURLOPT_HTTPHEADER, NULL);
|
||||
// 先清理 headers
|
||||
if (m_headers) {
|
||||
curl_slist_free_all(m_headers);
|
||||
m_headers = nullptr;
|
||||
}
|
||||
|
||||
if (m_curl) {
|
||||
// 完全清理旧的 handle
|
||||
curl_easy_cleanup(m_curl);
|
||||
// 创建新的 handle
|
||||
m_curl = curl_easy_init();
|
||||
if (m_curl) {
|
||||
// 设置基本选项
|
||||
curl_easy_setopt(m_curl, CURLOPT_NOSIGNAL, 1L);
|
||||
}
|
||||
}
|
||||
}
|
||||
void ctai_curl::curl_init()
|
||||
{
|
||||
curl_global_init(CURL_GLOBAL_ALL);
|
||||
if (!m_initialized) {
|
||||
curl_global_init(CURL_GLOBAL_ALL);
|
||||
m_initialized = true;
|
||||
}
|
||||
|
||||
// 每次都创建新的 handle
|
||||
if (m_curl) {
|
||||
curl_easy_cleanup(m_curl);
|
||||
}
|
||||
m_curl = curl_easy_init();
|
||||
m_error = CURLE_QUOTE_ERROR;
|
||||
if (!m_curl) {
|
||||
throw std::runtime_error("Failed to initialize CURL handle");
|
||||
}
|
||||
}
|
||||
void ctai_curl::send_post_response(model_data m_data, curl_opts opts)
|
||||
{
|
||||
if (!m_curl) {
|
||||
emit send_post_out_error("CURL handle is null");
|
||||
return;
|
||||
}
|
||||
|
||||
c_data = m_data;
|
||||
c_opts = opts;
|
||||
c_data.request_body = send_send_body(c_data);
|
||||
std::string response_data;
|
||||
call_back_context ctx;
|
||||
ctx.m_data = c_data;
|
||||
ctx.instance = this;
|
||||
if (m_curl)
|
||||
{
|
||||
|
||||
try {
|
||||
std::string response_data;
|
||||
call_back_context ctx{this, c_data}; // 使用列表初始化
|
||||
|
||||
set_send_post_option();
|
||||
if (c_data.postback_stream_mode)
|
||||
{
|
||||
// 流式输出
|
||||
|
||||
if (c_data.postback_stream_mode) {
|
||||
curl_easy_setopt(m_curl, CURLOPT_WRITEFUNCTION, stream_callback);
|
||||
curl_easy_setopt(m_curl, CURLOPT_WRITEDATA, &ctx);
|
||||
}
|
||||
else
|
||||
{
|
||||
// 非流式输出
|
||||
} else {
|
||||
curl_easy_setopt(m_curl, CURLOPT_WRITEFUNCTION, not_stream_callback);
|
||||
curl_easy_setopt(m_curl, CURLOPT_WRITEDATA, &response_data);
|
||||
}
|
||||
|
||||
m_error = curl_easy_perform(m_curl);
|
||||
if (m_error == CURLE_OK)
|
||||
{
|
||||
if (!c_data.postback_stream_mode)
|
||||
{
|
||||
send_not_stream(c_data, response_data.data());
|
||||
emit send_post_out_data(c_data);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
if (m_error != CURLE_OK) {
|
||||
emit send_post_out_error(curl_easy_strerror(m_error));
|
||||
} else if (!c_data.postback_stream_mode) {
|
||||
send_not_stream(c_data, response_data);
|
||||
emit send_post_out_data(c_data);
|
||||
}
|
||||
set_send_post_opts_reset();
|
||||
}
|
||||
catch (const std::exception& e) {
|
||||
emit send_post_out_error(e.what());
|
||||
}
|
||||
|
||||
// 请求完成后重置
|
||||
set_send_post_opts_reset();
|
||||
}
|
||||
@ -34,6 +34,7 @@ private:
|
||||
CURLcode m_error;
|
||||
model_data c_data;
|
||||
curl_opts c_opts;
|
||||
bool m_initialized; // 添加初始化状态标志
|
||||
void set_send_post_option();
|
||||
void set_send_post_opts_reset();
|
||||
std::string send_send_body(model_data);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user