Comments (3)
@tucanus Hi and thank you for using curlcpp!
Try to change this line:
auto pippo = easy.get_info(CURLINFO_COOKIELIST);
with this:
auto pippo = easy.get_info<vector<string>>(CURLINFO_COOKIELIST);
get_info is a template method in which you have to specify the type. Let me know!
from curlcpp.
Sorry, it is true, my mistake.
Ok, now it compiles, but does not work, get_info throws an exception and error.print_traceback() shows
ERROR: A libcurl function was given a bad argument ::::: FUNCTION: get_info<std::vector<std::basic_string<char> > >
I suspect code of get_info being incorrect (curl_easy_getinfo
third parameter shoul be struct curl_slist **
, you should check ptr != nullptr before applying ->next field, and should not infer that struct curl_slist elements being of same dimensions, hence I suggest to correct get_info this way (it works on my PC ;)
// Putting the namespace here will avoid the "specialization in different namespace" error.
namespace curl {
template<> std::unique_ptr<std::vector<std::string>> curl_easy::get_info(const CURLINFO info) const {
struct curl_slist *ptr = nullptr;
const CURLcode code = curl_easy_getinfo(this->curl,info,&ptr);
if (code != CURLE_OK) {
curl_slist_free_all(ptr);
throw curl_easy_exception(code,__FUNCTION__);
}
std::vector<std::string> infos;
struct curl_slist *list = ptr;
while (list != nullptr) {
infos.push_back(std::string(list->data));
list = list->next;
}
curl_slist_free_all(ptr);
return std::unique_ptr<std::vector<std::string>>{new std::vector<std::string>(infos)};
}
}
Thank you for your support and your time.
from curlcpp.
@tucanus Yeah, right! Now it works also on my environment! Thank you! If everything works, you can close the issue. For anything else, let me know! I will update the repo as soon as possible.
from curlcpp.
Related Issues (20)
- warnings when building
- NOEXCEPT
- Release:1.2 Cmake fails. HOT 15
- compile warning: invalid use of incomplete type HOT 2
- curl_easy_exception doesn't set any message into std::exception HOT 1
- Build of 1.4 fail with mingw32 in win10 and curl 7.74.0 HOT 12
- Can't link on windows HOT 3
- Singleton initializer issue HOT 1
- replece curlcpp-master/include to curlcpp-master/include/curlcpp
- Can't link with a project with Dynamic CRT (VS2019)
- initialising order warnings HOT 1
- Is a new tag/release coming soon? HOT 1
- build fail with curl 7.83.0 HOT 2
- Static build? HOT 6
- Deprecation warnings with latest curl version
- How to get response content string when using curl_multi HOT 1
- Version inside CMake looks out of date HOT 1
- suggestion libev
- Titles in README.md mismatch
- BUILD_SHARED_LIBS non-standard usage.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from curlcpp.