objectarx + libcurl下載文件遇到的問題

  1. 下載失敗導致cad崩潰,報錯’Error handler re-entered.Exiting now ',原因是因為我將libcurl相關的功能繼承到一個類中,在類中進行相關的webapi交互,但是由于最開始進行了請求所以沒有將curl進行初始化導致的傳遞數據錯誤.只需要在函數開始時進行初始化即可.
curl = curl_easy_init();
/*curl_global_init(CURL_GLOBAL_DEFAULT);*/
if (curl)
{MessageBoxA(NULL, combinePath.c_str(), "0", 0);FILE* fp = fopen(strFileName.c_str(), "wb");    // 打開文件,準備寫入curl_easy_setopt(curl, CURLOPT_URL, combinePath.c_str());curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, curlWriteFunction);CURLcode result = curl_easy_perform(curl);acutPrintf(L"download :  %i", result);fclose(fp);                         // 關閉文件/*curl_easy_cleanup(curl);*/
}
  1. 請求webapi數據,發現接口無響應,并且單獨測試傳入字符串沒有影響.原因是因為,我的測試文件是英文字符,導致忽略了將其編碼傳入導致的,而一直測試忽視了這方面,所以解決這個問題需要將中文字符編碼之后傳入header即可解決.
std::wstring_convert<codecvt_utf8<wchar_t>> converter;//std::wstring wideStr = L"專篇模板";
std::wstring wideStr = ConvertToWideString(Filepath);
// 轉換為 UTF-8 編碼
std::string utf8Str = converter.to_bytes(wideStr);// 進行 URL 編碼
char* encodedData = curl_easy_escape(curl, utf8Str.c_str(), utf8Str.length());
std::string encodedSymbolName(encodedData);
curl_free(encodedData);

urlencode函數

std::string webApi::UrlEncode(const std::string& str)
{std::string strTemp = "";size_t length = str.length();for (size_t i = 0; i < length; i++){if (isalnum((unsigned char)str[i]) ||(str[i] == '-') ||(str[i] == '_') ||(str[i] == '.') ||(str[i] == '~'))strTemp += str[i];else if (str[i] == ' ')strTemp += "+";else{strTemp += '%';strTemp += ToHex((unsigned char)str[i] >> 4);strTemp += ToHex((unsigned char)str[i] % 16);}}return strTemp;}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/160749.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/160749.shtml
英文地址,請注明出處:http://en.pswp.cn/news/160749.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

山西電力市場日前價格預測【2023-11-23】

日前價格預測 預測說明&#xff1a; 如上圖所示&#xff0c;預測明日&#xff08;2023-11-23&#xff09;山西電力市場全天平均日前電價為148.77元/MWh。其中&#xff0c;最高日前電價為420.40元/MWh&#xff0c;預計出現在18:00。最低日前電價為0.00元/MWh&#xff0c;預計出…

微信小程序開發學習——頁面布局、初始導航欄與跳轉

1.盒模型 要求實現效果如圖所示&#xff1a; 所有WXML元素都可以看作盒子&#xff0c;在WXSS中"box model”這一術語是用來設計和布局時使用盒模型本質上是一個盒子&#xff0c;封裝周圍的WXML元素它包括: 邊距&#xff0c;邊框&#xff0c;填充和實際內容&#xff0c;模…

【Java并發編程十一】同步控制三

LockSupport 線程阻塞工具 LockSupport的unpark() 方法可以先執行。 import java.util.ArrayList; import java.util.Random; import java.util.concurrent.*; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.LockSupport; import java.uti…

RAW RGB YUV數據差異

目錄 顏色與色彩空間 RAW圖像 RGB圖像 YUV圖像 顏色與色彩空間 顏色 顏色是人眼感知到的現象&#xff0c;它是由光波的頻率和強度所決定的&#xff0c;僅僅存在于人的眼睛和大腦中&#xff0c;因此為了方便描述顏色&#xff0c;引入了色彩空間。色彩空間 色彩空間&#xff…

C語言--數組與指針--打印字符串的n種方式

一.知識背景 一維數組名的含義 arr一般表示數組的起始地址&#xff08;除了兩種例外&#xff09; 1.在定義數組的同一個函數中(不是形參),求sizeof(arr),求整個數組的字節數 2.在定義數組的同一個函數中(不是形參),&arr1,加整個數組的大小 (經常考試) 3.除上面以外,arr都表…

和鯨 × 暨大經管:高效 SAAS 服務持續賦能交叉學科應用型數據人才培養

隨著新一輪科技革命與產業變革的加速演進&#xff0c;擁有學科背景的應用型數據科學人才逐漸成為我國政產學研各界的人力資源需求重點。為響應需求&#xff0c;國家愈發重視新生力量數據思維與意識的培養&#xff0c;各高校也紛紛探索如何以新興信息技術賦能傳統主流學科。 在…

達索系統SOLIDWORKS流體分析網格劃分失敗,大多是這2種原因

SOLIDWORKS Flow Simulation 是直觀的流體力學 (CFD) 分析軟件&#xff0c;該軟件功能強大、操作人性化&#xff0c;快速輕松的分析產品內部或外部流體的流動情況&#xff0c;以用來改善產品性能和功能。 當流體分析運行網格劃分時&#xff0c;提示失敗。 這是由于凸起面與圓…

【LeetCode刷題】--43.字符串相乘

43.字符串相乘 方法一&#xff1a;做加法&#xff0c;模擬豎式乘法的方法計算乘積 class Solution {public String multiply(String num1, String num2) {if(num1.equals("0") || num2.equals("0")){return "0";}String res "0";//nu…

Hadoop -hdfs的讀寫請求

1、HDFS寫數據&#xff08;宏觀&#xff09;&#xff1a; 1、首先&#xff0c;客戶端發送一個寫數據的請求&#xff0c;通過rpc與NN建立連接&#xff0c;NN會做一些簡單的校驗&#xff0c;文件是否存在&#xff0c;是否有空間存儲數據等。 2、NN就會將校驗的結果發送給客戶端…

3、基礎入門——抓包封包協議APP小程序PC應用web應用

知識點 APP&小程序&PC抓包HTTP/S數據——Charles、Fiddler、Burpsuit;程序進程&網絡接口&其他協議抓包——Wireshark、科來網絡分析系統、TCPDump(linux)&#xff1b;通訊類應用封包分析發送接收——WPE四件套封包、科來網絡分析系統。模擬器&#xff1a;逍遙…

解決requests庫進行爬蟲ip請求時遇到的錯誤的方法

目錄 一、超時錯誤 二、連接錯誤 三、拒絕服務錯誤 四、內容編碼錯誤 五、HTTP錯誤 在利用requests庫進行網絡爬蟲的IP請求時&#xff0c;我們可能會遇到各種錯誤&#xff0c;如超時、連接錯誤、拒絕服務等等。這些錯誤通常是由目標網站的限制、網絡問題或我們的爬蟲代碼中…

前端性能優化總結

這里寫目錄標題 頁面性能測試工具測試指標 前端頁面性能常見的問題前端頁面性能優化常見策略及方案dns優化------預解析域名&#xff08;異步進行&#xff09;http請求優化減少請求次數同時多開持久連接 前面面試url從輸入到確認搜索發生了什么js介紹new一個對象的過程&#xf…

Linux 進程等待

在2號手冊里查wait&#xff08;&#xff09;。wait()等待任意一個子進程的狀態。 wait&#xff08;&#xff09;等待成功會返回該子進程的id,返回失敗會返回-1&#xff1a; 小實驗 子進程的退出碼 子進程執行work()&#xff0c;父進程wait子進程。 子進程跑完5秒之后就e…

GCANet_Gated context aggregation network for image dehazing and deraining

2019、中科大港科、有代碼 Chen D, He M, Fan Q, et al. Gated context aggregation network for image dehazing and deraining[C]//2019 IEEE winter conference on applications of computer vision (WACV). IEEE, 2019: 1375-1383. GitHub - cddlyf/GCANet: Implementation…

丟掉破解版,官方免費了!!!

哈嘍&#xff01;大家好。 幾天不見&#xff0c;今天給大家帶來一款海外的神器&#xff0c;官方宣布完全免費&#xff0c;但僅限于個人與教育用途&#xff0c;切勿商用噢&#xff01; 不要看這個軟件名字普普通通&#xff0c;實際上內蘊乾坤&#xff01; 接下來看我給大家炫一…

隊列的實現和OJ練習(c語言)

目錄 概念 隊列的實現 利用結構體存放隊列結構 為什么單鏈表不使用這種方法&#xff1f; 初始化隊列 小提示&#xff1a; 隊尾入隊列 隊頭出隊列 獲取隊頭元素 獲取隊尾元素 獲取隊列中有效元素個數 檢測隊列是否為空 銷毀隊列 最終代碼 循環隊列 隊列的OJ題 …

元素清空操作clear與選擇操作check

元素清空操作clear與選擇操作check clear() 作用 清空輸入框的所有內容.clear() 等價于 .type("{selectall}{backspace}") 語法 .clear() .clear(options)option選項 元素選中操作check與uncheck check 語法 // 所有匹配到的選擇框都會被選中一遍 .check()/…

CISP模擬考試(二)

免責聲明 文章僅做經驗分享用途,利用本文章所提供的信息而造成的任何直接或者間接的后果及損失,均由使用者本人負責,作者不為此承擔任何責任,一旦造成后果請自行承擔!!! 1.DDoS攻擊主要目的是: A.破壞完整性 B.破壞機密性 C.破壞可用性 D.破壞不可抵賴性 答案:…

三、防火墻-源NAT

學習防火墻之前&#xff0c;對路由交換應要有一定的認識 源NAT基本原理1.1.NAT No-PAT1.2.NAPT1.3.出接口地址方式&#xff08;Easy IP&#xff09;1.4.Smart NAT1.5.三元組 NAT1.6.多出口場景下的源NAT 總結延伸 ——————————————————————————————…

C語言prim算法求最小生成樹

Prim算法是一種用于尋找無向帶權圖的最小生成樹的算法。該算法的基本思想是從一個源點開始&#xff0c;逐步向外擴展生成樹&#xff0c;每次找到與當前生成樹最近的未被訪問的頂點&#xff0c;并將其加入到生成樹中&#xff0c;直到所有頂點都被加入到生成樹中為止。 具體來說…