libcurl,CURLOPT_POSTFIELDS的内容变乱码或少一字节
来源:互联网 发布:nginx root 和alias 编辑:程序博客网 时间:2024/05/02 00:19
今天写了一段代码调用libcurl库的,post的数据都会变成乱码,或者少一字节后来发现实变量有效范围的问题.
错误代码:
//......if( NULL!=pszHttpBody ){const std::string strPostData = pszHttpBody;if( strPostData.size() ){ErrCode = curl_easy_setopt( m_curl, CURLOPT_POSTFIELDSIZE, strPostData.size() );ErrCode = curl_easy_setopt( m_curl, CURLOPT_POSTFIELDS, strPostData.c_str() );}}//......ErrCode = curl_easy_perform( m_curl );
正确代码:
//......std::string strPostData;if( NULL!=pszHttpBody ){strPostData = pszHttpBody;if( strPostData.size() ){ErrCode = curl_easy_setopt( m_curl, CURLOPT_POSTFIELDSIZE, strPostData.size() );ErrCode = curl_easy_setopt( m_curl, CURLOPT_POSTFIELDS, strPostData.c_str() );}}//......ErrCode = curl_easy_perform( m_curl );
问题出在变量strPostData,在错误代码中,if结束变量就释放了CURLOPT_POSTFIELDS指向了一个野指针. 错误很低级,因为使用中从来没思考过curl_easy_setopt保存的是指针还是值.
0 0
- libcurl,CURLOPT_POSTFIELDS的内容变乱码或少一字节
- libcurl部分总结||CURLOPT_POSTFIELDS 之间用&间隔开来
- 数据乱码 多一个为空的一字节乱码
- php导出CSV文件乱码或无内容的问题
- libcurl抓取base64编码的页面内容
- libcurl获取网页内容的PHP代码
- 关于ASP.NET用VS2012出现数据库内容汉字乱码(中文乱码)或者汉字变问号(中文变问号)的解决办法,非常简单。
- libcurl的使用总结(一)
- PHP的CURLOPT_POSTFIELDS参数使用数组和字符串的区别
- PHP cURL之CURLOPT_POSTFIELDS使用数组和字符串的区别
- PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
- PHP curl 的CURLOPT_POSTFIELDS之数组和字符串之谜
- libcurl console 中文乱码
- ubuntu下使用vi是方向键变乱码退格键不能使用的解决方法(一)
- 把表的竖向列变为横向一字段值(或 竖向变横向)
- Spring Tomcat Post Get 请求参数有中文时出现乱码或+号变空格等关于编码的问题
- 安徽高考少输入的6个字节猜想
- 安徽高考少输入的6个字节猜想
- ssl的消息读写以及和tcp语义的异同
- 【解惑】学了.Net能做什么开发
- SSH框架-Spring
- 友盟公司简介(面试友盟必看)
- Eclipse开发Android报错 is not translated in zh, zh_CN的问题
- libcurl,CURLOPT_POSTFIELDS的内容变乱码或少一字节
- mysql中文乱码解决方案
- Ubuntu安装git服务器
- Cocos2dx 3.0 过渡篇 (二十) 闲扯强制类型转换
- 美橙互联等空间支持MVC3.0需要更改的DLL引用信息
- 关于NSToolbar的使用
- 感悟自己
- 还是大三的同学最好看下,java工程师必备技能
- win7如何配置环境变量