curl的使用

由于在项目组中使用到了curl这个开源库,于是很想对这个开源库剖析一下,看看里面都有哪些东西~

curl开源项目维护了很多年,现在依然在不断的维护和完善,提供网络请求的命令行工具和函数库;支持的协议有:DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMTP, SMTPS, Telnet and TFTP. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, HTTP/2, cookies, user+password authentication (Basic, Plain, Digest, CRAM-MD5, NTLM, Negotiate and Kerberos), file transfer resume, proxy tunneling and more.如此可见,它是多么的强大。

使用的方式:1:在命令行中,通过curl命令加一些参数,就可以下载一些网络资源。

      2:在项目中,通过引入libcurl,简化网络请求的操作:

        1):通过easy的接口去使用,easy结构是同步的,效率比较搞,比较容易使用,很多基于同步的网络请求应用程度都是基于这个编写的。参考URL链接:https://curl.haxx.se/libcurl/c/libcurl-easy.html

        2):通过multi接口是使用,这种方式是异步的,同时支持多线程操作;multi的接口为:https://curl.haxx.se/libcurl/c/libcurl-multi.html

时间: 2024-08-27 12:40:21

curl的使用的相关文章

微信支付错误两个问题的解决:curl出错,错误码:60

如下是运行微信支付测试代码时出错代码: Warning: curl_setopt() expects parameter 2 to be long, string given in D:\wwwroot\weixinpaytest\pay\WxPay.JsApiPay.php on line 99 Fatal error: Uncaught exception 'WxPayException' with message 'curl出错,错误码:60' in D:\wwwroot\weixinpa

php curl 伪造IP来源的实例代码

curl发出请求的文件fake_ip.php: 代码 代码如下: <?php $ch = curl_init(); $url = "http://localhost/target_ip.php"; $header = array( 'CLIENT-IP:58.68.44.61', 'X-FORWARDED-FOR:58.68.44.61', ); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPH

Linux系统curl命令

curl命令 curl  -I  网址    //-I :省略源代码查看,内容如下: 我们查看的是HTTP/1.1 200 OK 这一行 常用状态吗有:200 301 302 404 403 502 503 上述状态码中,只有  200 是OK 的 如果出现301 302 ,它可能是因为在服务端设置了  跳转 ,内容如下: 上图显示,HTTP/1.1 301 设置了跳转,跳转到了下面:Location:http://www.aminglinux.com/bbs/forum.php -x  可以指

关于curl跳转抓取

今天在公司碰到了一个bug,就是以前一直用curl下载的MP3录音文件为空了,但是浏览器去get请求是有文件的,并且大小还不是0kb,但是我用curl下载下来就是0K,百思不得其解.终于功夫不负有心人,得到了方法,原来我一直要去第三方的接口拿到录音数据,但是今天的录音数据中地址跳转了,也就是第一次请求的地址返回的是302, 这是以前的代码 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); // curl_setopt($ch, CUR

php+curl上传文件

因为公司项目用java做的,需要我这边用php上传文件.只给了个接口,参数都不明确,然后这边不提交表单,在生成pdf之后就立马上传.用了php+curl,总是没上传成功,这里看到了篇文章http://blog.sina.com.cn/s/blog_709475a101013dlf.html,希望可以借鉴.还有这篇http://www.cnblogs.com/jackluo/p/4113255.html

curl 命令获取网络网站的响应码

curl命令参数很多,博主很多都没有用过.今天发现可以用-w参数挺好用的. -w:--write-out,作用就是输出点什么.curl的-w参数用于在一次完整且成功的操作后输出指定格式的内容到标准输出.输出格式由普通字符串和任意数量的变量组成,输出变量需要按照%{variable_name}的格式,如果需要输出%,double一下即可,即%%,同时,\n是换行,\r是回车,\t是TAB.curl会用合适的值来替代输出格式中的变量,所有可用变量如下: url_effective 最终获取的url地

php使用curl提交xml数据

$str_callback_url="xxxx.com/api.php";$str_callback_url="xml数据";$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $str_callback_url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);curl_setopt($ch,

CURL常用命令详解及示例

原文地址: http://www.thegeekstuff.com/2012/04/curl-examples/ 下载单个文件,默认将输出打印到标准输出中(STDOUT)中 curl http://www.centos.org 通过-o/-O选项保存下载的文件到指定的文件中:-o:将文件保存为命令行中指定的文件名的文件中-O:使用URL中默认的文件名保存文件到本地 1 # 将文件下载到本地并命名为mygettext.html 2 curl -o mygettext.html http://www

PHP curl模拟浏览器抓取网站信息

curl是一个利用URL语法在命令行方式下工作的文件传输工具. 官方解释 curl是一个利用URL语法在命令行方式下工作的文件传输工具.curl是一个利用URL语法在命令行方式下工作的文件传输工具.它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP.curl同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法, FTP上传, kerberos认证, HTTP上传, 代理服务器, cookies,

利用curl函数处理GET数据获取微信公众号的access_token

<?php//处理GET数据 $appid="wx0cf1ae434525b3bc";//填写AppID $secret="530d5915c163cce3073062e281a8b21c";//填写Secret $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$secret}&quo