Articles of curl

使用curl 7.33.0的–http2.0选项提供不受支持的协议

我使用的是centos 6.2,我需要在服务器请求中使用curl —http2.0,但是在看了http://curl.haxx.se/docs/manpage.html给出的7.19.6后我说–http2.0选项只支持curl 7.33.0,所以为了克服这个问题,我已经安装curl 7.33.0按照http://www.linuxfromscratch.org/blfs/view/svn /basicnet/curl.html安装curl后,我试图使用,但它仍然给我的错误作为curl(1):不支持的协议 ,我检查了我的curl版本使用: curl –version这是给我 : curl 7.33.0 (x86_64-unknown-linux-gnu) libcurl/7.33.0 OpenSSL/1.0.0 zlib/1.2.3 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp Features: AsynchDNS IPv6 Largefile NTLM NTLM_WB SSL libz 我需要使用这个–http2.0,但没有得到任何事情,我怎么能做到这一点? 由于curl7.19被安装,并且我重新安装更高版本的curl,这是否有任何问题?

linux curl另存为utf-8

尝试使用Linuxcurl从URL下载XML文件。 很确定这个xml是用UTF-8编码的, 怀疑curl -o不保存为UTF-8。 无论如何强制保存为UTF-8curl? 感谢您的build议,我发现: 由于XML feed是dynamic的,并不是所有的时候都包含任何utf-8字符。 有时即使它在xml编码和标题内容types中设置为utf-8,它在整个内容中也没有utf-8字符:charset = utf-8。 当它至less包含一个utf-8字符时,它将被保存为utf-8。 当发生这种情况时,curl不会以utf-8的forms下载,因为没有utf-8字符,这是有道理的,为什么需要存储为utf-8。 这是非常棘手的,一些validation器必须对utf-8有效,因此我仍然需要一个解决scheme来强制它为utf8,因为默认情况下,我所有的xml shld都是utf8编码。 尝试build议通过使用iconv f iso8859-1 utf-8不适用于这种情况下,因为我怀疑它不在iso8859-1也不是。 仍然需要更好的解决scheme。

用于https(SSL)的Curl命令

我想运行下面的CURL命令,但我得到一个SSL证书错误: curl https://example.com:8443/cli/agentCLI -u username:password 错误: curl:(60)SSL证书问题,请validationCA证书是否正确。 详细信息:错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书validation失败更多详细信息,请访问: http ://curl.haxx.se/docs/sslcerts.html curl默认使用证书颁发机构(CA)公钥(CA证书)的“包”来执行SSL证书validation。 默认包名为curl-ca-bundle.crt; 您可以使用–cacert选项指定备用文件。 如果此HTTPS服务器使用包中表示的由CA签名的证书,则证书validation可能由于证书问题(可能已过期,或名称可能与URL中的域名不匹配)而失败。 如果您想closures卷发的证书validation,请使用-k(或–insecure)选项。 我将如何解决这个问题,以允许SSL URL?

具有multithreadingcurl请求的Segfault

我在这里遇到了一些C ++程序的麻烦。 基本上我已经为http请求写了一个简单的包装,可以一次执行多个请求。 工作绝对好,但是当我做httpS请求时,它在multithreading模式下随机崩溃。 我使用curl和posix线程。 Backtrace看起来像这样: ======= Backtrace: ========= /lib/x86_64-linux-gnu/libc.so.6(+0x80996)[0x7fea9046d996] /lib/x86_64-linux-gnu/libc.so.6(+0x82b80)[0x7fea9046fb80] /lib/x86_64-linux-gnu/libc.so.6(realloc+0xf2)[0x7fea90470ae2] /lib/x86_64-linux-gnu/libcrypto.so.1.0.0(CRYPTO_realloc+0x49)[0x7fea8f9c6169] /lib/x86_64-linux-gnu/libcrypto.so.1.0.0(lh_insert+0x101)[0x7fea8fa4bfb1] /lib/x86_64-linux-gnu/libcrypto.so.1.0.0(+0xe844e)[0x7fea8fa4e44e] /lib/x86_64-linux-gnu/libcrypto.so.1.0.0(ERR_get_state+0xde)[0x7fea8fa4eeee] /lib/x86_64-linux-gnu/libcrypto.so.1.0.0(ERR_clear_error+0x15)[0x7fea8fa4f065] /usr/lib/x86_64-linux-gnu/libcurl.so.4(+0x24e79)[0x7fea90f10e79] /usr/lib/x86_64-linux-gnu/libcurl.so.4(+0x39ea0)[0x7fea90f25ea0] /usr/lib/x86_64-linux-gnu/libcurl.so.4(+0xf8fd)[0x7fea90efb8fd] /usr/lib/x86_64-linux-gnu/libcurl.so.4(+0x219f5)[0x7fea90f0d9f5] /usr/lib/x86_64-linux-gnu/libcurl.so.4(+0x35538)[0x7fea90f21538] /usr/lib/x86_64-linux-gnu/libcurl.so.4(curl_multi_perform+0x91)[0x7fea90f21d31] /usr/lib/x86_64-linux-gnu/libcurl.so.4(curl_easy_perform+0x107)[0x7fea90f19457] ./exbot[0x40273a] /lib/x86_64-linux-gnu/libpthread.so.0(+0x7f6e)[0x7fea90cd6f6e] /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7fea904e79cd] 这可能是libcrypto中的一个错误? 我可以不知何故告诉curl不要使用libcrypto? 任何替代品? 它只使用httpS请求来启动文件,并且即使10000个同时http查询也能正常工作。 干杯,托马斯 只是为了完整我的代码: // simple wrapper for http requests #ifndef _REQUEST_H_ #define _REQUEST_H_ #include <curl/curl.h> #include <pthread.h> #include <string> #include <iostream> ////////////////////////////////// // MACROS ////////////////////////////////// […]

卷起多部分/表单数据和JSON

有没有办法使用curl做一个multipart/form-data文章,并指定数据是application/json ? 它不一定是curl。

Libcurl没有更新

我在Ubuntu 14.04,需要curl版本> 7.40,所以我已经按照一些步骤来安装最新的curl版本(7.48) 作为根 wget http://curl.haxx.se/download/curl-7.48.0.tar.gz apt-get install libtool apt-get install make 提取文件 tar -xvf curl-7.48.0.tar.gz 然后在提取的文件夹中: ./buildconf ./configure make make install 更新了二进制文件 mv /usr/bin/curl /usr/bin/curl.bak cp /usr/local/bin/curl /usr/bin/curl 然后重新启动机器。 我可以看到新的curl版本,但libcurl库没有更新,仍然是7.35 根:〜#curl -V curl 7.48.0 (x86_64-unknown-linux-gnu) libcurl / 7.35.0, OpenSSL / 1.0.1f zlib / 1.2.8 libidn / 1.28 librtmp / 2.3 协议:dict文件ftp ftps gopher http […]

在ShellScript中,基于Curl输出分配variables

我试图编写一个shellcript,将分配一个variables来curl输出。 当我从命令行运行这个curl命令的输出是这样的: $curl "test.test.com/landing/505978290?c=Area%20Rug" www.test.com/test/test?test=test 去这个url应该只是输出一个文本文件与另一个url。 我想testing这第二个url是它应该是的url。 url = $(curl "test.test.com/landing/505978290?c=Area%20Rug") if [$url -gt "www.tazinga.com/landing/505978290?c=area%20rug&si=gw&alt_css=silver&sv=34&"] echo ""test.test.com/landing/505978290?c=Area%20Rug did not redirect properly" else echo "Right URL" fi 但是,当我运行的shellcript我得到这个输出: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 75 0 75 0 0 997 0 –:–:– –:–:– […]

在Linux上添加对SCP和SFTP的curl支持

我一直在拼命地在CentOS盒子上添加对Curl的SFTP和SCP支持。 我在这里find类似解决scheme的东西: http://andrewberls.com/blog/post/adding-sftp-support-to-curl 我遵循了这些步骤,但发现当试图通过SCP和SFTP获取文件时,连接一旦find文件就会挂起。 我无法解决这个问题,找不到替代解决scheme。 我不得不在工作中使用Curl,因此不能使用其他库。 有没有人成功地在Curl上添加了对SCP和SFTP的支持? 我有一个testing服务器安装程序和其他协议,如FTP工作正常。 任何帮助将不胜感激! 在此先感谢彼得

在linux命令行使用curl –datacurlhttp后期file upload

我一直在尝试在linux命令行中使用以下命令将file upload到服务器: curl -v –data 'file=@/var/www/fbapp/images/registration.png' http://myserver/xmltest/curlupload.php 但它不会将file upload到服务器,即使它正在发送回应。 虽然如果我使用这个命令,它会上传文件并发回响应: curl -v -F 'filename=registration.png' -F 'file=@/var/www/fbapp/images/registration.png' http://myserver/xmltest/curlupload.php 但是我想要curl –data格式的命令。 这是我在服务器上的PHP代码: <?php $uploadpath = "images/"; $filedata = $_FILES['file']['tmp_name']; echo "filedata= ".$filedata; if ($filedata != '') copy($filedata,$uploadpath."1.png"); echo "success"; ?> 这是我回头的标题回应: > POST /xmltest/curlupload.php HTTP/1.1 > User-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3 > Host: myserver […]

通过nghttp2使用带有HTTP \ 2支持的cURL连接到Apple的APNS

我试图按照本教程来编译带有HTTP / 2支持的cURL。 我使用的是Docker,而我的应用程序基于使用Debian的官方PHP Docker镜像 ,尽pipe我在运行Vagrant VM的Ubuntu机器上也产生了相同的问题。 起初似乎没有问题。 确实,运行curl –version显示了我所期望的一切: curl 7.47.1 (x86_64-pc-linux-gnu) libcurl/7.47.1 OpenSSL/1.0.1k zlib/1.2.8 libidn/1.29 libssh2/1.4.3 nghttp2/1.7.1 librtmp/2.3 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp Features: IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets […]