Tag: curl

具有多个接口的cURL,用于与代理的多个连接

我需要从一个网站上查看列表中的许多代理。 我决定用libcurl来做这件事。 我用这个例子并根据我的需要修改它。 这是我的代码: #include #include #include #include #include #include /* somewhat unix-specific */ #include #include using namespace std; CURL * handles [100]; CURL * createProxyHandle (string proxyData){ CURL * handle = curl_easy_init (); curl_slist * chunk = NULL; chunk = curl_slist_append(chunk, “Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1”); chunk = curl_slist_append(chunk, […]

将libcurl包含在Microsoft Visual Studio 2015中

我不知道如何将curl包含到我的项目中。 我已经阅读了这个获取LibCurl与Visual Studio 2013一起使用 ,但在我的文件夹中使用curl(来自https://curl.haxx.se/download.html#Win64 – Win64 x86_64 7zip)只有bin文件夹中的libcurl.dll 。 在lib文件夹中只有libcurl.a和libcurldll.a 。 我已经添加了包含VC ++目录的路径– > Inlcude目录 ,并尝试编译此代码: #include #include #include #include struct url_data { size_t size; char* data; }; size_t write_data(void *ptr, size_t size, size_t nmemb, struct url_data *data) { size_t index = data->size; size_t n = (size * nmemb); char* tmp; data->size += (size […]

如何从服务器接收zip文件:C / C ++

我正在使用libcurl并能够receive json response并将其saving it to file 。 以下是代码 #include #include #include #include #define URL “http://www.joes-hardware.com/tools.html” size_t write_data(void *ptr, size_t size, size_t nmemb, FILE *stream) { size_t written; written = fwrite(ptr, size, nmemb, stream); return written; } int main(void) { CURL *curl; FILE *fp; CURLcode res; //char *url = “http://www.joes-hardware.com/tools.html”; char *url= URL; char outfilename[FILENAME_MAX] = […]

libcurl可用于发出多个并发请求吗?

我在我的一个项目中使用libcurl。 我知道curl不是用于发出多个并发请求但是libcurl是否支持它? 我知道还有其他工具,比如ab,但是libcurl提供了许多function。 我再次知道我可以在脚本中使用curl来运行多个请求,但这不是我想要的。 我无法找到一个令人满意的答案。 虽然,这不是决定性的。 我应该可以使用多个句柄进行多个连接。 有没人试过这个? 有什么需要注意的问题吗? 我应该可以这样做: my_app –total_connections 1000 –concurrency 100 url

我如何使用libcurl函数“curl_easy_setopt(CURL * handle,CURLOPT_DNS_LOCAL_IP4,char * address);”

我想使用函数curl_easy_setopt(CURL *handle, CURLOPT_DNS_LOCAL_IP4, char *address) ,但是当我下载源代码时, ./configure && make && make install 每个function都可以,但这个函数curl_easy_setopt(CURL *handle, CURLOPT_DNS_LOCAL_IP4, char *address) 。 此函数说明http://curl.haxx.se/libcurl/c/CURLOPT_DNS_LOCAL_IP4.html.AVAILABILITY表示此选项要求libcurl是使用支持此操作的解析程序后端构建的。 c-ares后端是唯一这样的。 这是什么意思? 我如何使用resoluver后端构建libcurl。 谢谢

使用curl和json-c从C调用json webservice

我需要调用一个接受json对象的restful webservice。 我能够找到像libcurl这样的库来从C应用程序调用web服务。 我还能够找到像json-c这样的库来在C中创建一个json对象。 libcurl接受一个字符串并将其发布到给定的webservice url。 无论如何,我可以发布使用json-c库创建的json对象,并使用curl库调用webservice。 如果有任何其他库允许我同时创建一个json对象并调用webservice或任何其他替代解决方案,请告诉我。 感谢您的帮助。

在C中使用cURL使用HTTP代理

我正在研究这个在c中使用代理服务器和curl的项目,我找不到一个教我怎么做的好教程。 你能帮我么?? 我需要一个示例代码,显示使用代理服务器连接到google.com。 也许使用CURLOPT_PROXY选项..在此先感谢。

LibCurl – 释放静态Lib链接问题

我已经有一段时间了。 我希望有人可以告诉我我做错了什么。 这是我到目前为止采取的步骤: – 下载最新版本的cURL(7.21.7)。 – 使用vc6curl.dsw在Visual Studio 2010中打开解决方案,并将项目转换为VS2010。 – 将libcurl项目配置设置为“release”并构建。 构建成功。创建名为“LIB-Release”的文件夹。 它包含几个obj文件,“libcurl.lib”文件也驻留在这里。 测试应用: – 在项目的设置中,我将编译器指向curl include(headers)。 C / C ++ >>一般>>附加包含目录 – 为预处理器定义添加了“CURL_STATICLIB” C / C ++ >>预处理器定义 – 在我的链接器附加库依赖项中添加了“libcurl.lib”文件夹的路径 链接>>一般>>附加图书馆目录 – 为我的链接器添加了“libcurl.lib”附加依赖项 链接>>输入>>附加依赖项 – 将我的项目配置设置为“Realease”并点击构建! 我得到42个未解决的外部错误: 错误65错误LNK1120:42未解析的外部C:\ Users \ Nick \ Documents \ Visual Studio 2010 \ Projects \ curl_static_lib \ Release \ […]

libcurl http以json格式获取请求

有没有办法使用JSON格式的libcurl发送HTTP get请求? 我目前的要求是 curl_easy_setopt(curl_handle, CURLOPT_URL, “http://localhost:9200/_search?q=tag:warcraft”) 使用libcurl。 它相当于curl curl -XGET http://localhost:9200/_all/tweet/_search?q=tag:warcraft 我想使用libcurl发送以下curl请求(以json格式)。 curl -XGET http://localhost:9200/_search -d ‘{ “query” : { “term” : { “tag”: “warcraft” } } }’ 我想知道发送上述请求的等效libcurl代码。 谢谢。

使用C的原始libcurl JSON PUT请求

我目前正在编写类似REST的客户端,只需要执行PUT请求。 问题: 运行程序并没有在URL的API上给我正确的结果,我不知道为什么。 使用curl_easy_perform(curl)不会在调用时抛出错误。 但是,不会在URL的API上生成预期结果。 使用curl_easy_send(curl,..,..,..)会抛出:不支持的协议错误 假设: 我假设我使用curl_easy_opts的顺序是个问题? 我甚至错过了几个关键线? 我一直在这里阅读其他人如何做PUT请求并一直在使用他们的方法。 计划摘要: 我的程序提示用户输入一些字符串/字符数据,从中我自己构造字符串,例如标题和有效负载。 标头和有效负载都是JSON格式,但有效负载只是一个字符串(在这种情况下,char * str =(char *)mallo …等)。 标题的构造方式如下所示。 我的标题正在使用 struct curl_slist *headers = NULL; headers = curl_slist_append(headers, “Accept: application/json”); //there is more content being appended to the header CURL函数调用: //init winsock stuff curl_global_init(CURL_GLOBAL_ALL); //get a curl handle curl = curl_easy_init(); if(curl){ //append the headers […]