php卷曲指南
很多同学第一次用curl的时候,觉得前两个大(包括我)。查看所有curl_setopt函数是完全令人困惑的。不过,花了10分钟看完我的介绍,相信以后可以轻松玩php curl了。
首先,请查看一个curl代码(花10秒钟,简单阅读,然后跳到下面)。
复制代码如下:php $data='soap:Envelope[.]/soap : envelope ';$ TucURl=curl _ init();curl_setopt($tuCurl,CURLOPT_URL,' https://example.com/path/for/soap/URL/');curl_setopt($tuCurl,CURLOPT_PORT,443);curl_setopt($tuCurl,CURLOPT_VERBOSE,0);curl_setopt($tuCurl,CURLOPT_HEADER,0);curl_setopt($tuCurl,CURLOPT _ SSLVERSION,3);curl_setopt($tuCurl,CURLOPT_SSLCERT,getcwd()。/client . PEM ');curl_setopt($tuCurl,CURLOPT_SSLKEY,getcwd()。/key out . PEM ');curl_setopt($tuCurl,CURLOPT_CAINFO,getcwd()。/ca . PEM ');curl _ setopt($ tuculr,CURLOPT_POST,1);curl _ setopt($ tuculr,CURLOPT_SSL_VERIFYPEER,1);curl _ setopt($ tuculr,CURLOPT_RETURNTRANSFER,1);curl_setopt($tuCurl,CURLOPT_POSTFIELDS,$ data);curl _ setopt($ tuculr,CURLOPT _ HTTPHEADER,数组(' Content-Type: text/xml ',' soap action : \ '/soap/action/query \ ',' Content-length: '。strlen($ data));$ TuData=curl _ exec($ TucURl);if(!curl _ errno($ TucURl)){ $ info=curl _ getinfo($ TucURl);回声“带走了”。$info['total_time']。向“”发送请求的秒数。$ info[' URL '];} else { echo 'Curl error: '。curl _ error($ TucURl);} curl _ close($ TucURl);echo $ tuData?
WTF,这到底在干什么?
你想学这个“高端”用法吗?
首先,我相信你知道大多数网站都是从http开始的,因为它们需要通过HTTP(超文本传输协议)传输数据,但是传输数据并不仅仅是向服务器发送一个“你好”的问题。为了让收信人更容易理解寄信人的实际意图,知道寄信人是谁,寄信人往往会给收信人发送大量的额外信息,就像寄信人需要在信的信封上放一个信封,信封上写着寄信人的各种信息一样。所有这些最终融合成一个叫消息的东西,形成了整个互联网的基础。
Curl的工作是通过http协议发送这些消息(PHP的libcurl目前支持https、ftp、telnet等协议)。
现在看代码,其实代码只做了五件事。
Curl_init()初始化curlcurl _ setopt()设置传输数据和参数curl_exec()执行传输并获取返回数据curl_errono()返回错误代码curl_close () close curl下面展示了如何使用GET和POST方法抓取和提交任意页面的数据。
复制代码如下:PHP//Initialize $ curl=curl _ init();//设置URL curl _ setopt ($ curl,curl opt _ URL,' http://www . Baidu.com ');//将返回的输出设置为文本流curl _ setopt ($ curl,curl opt _ returntransfer,true);//执行命令$ data=curl _ exec($ curl);//关闭URL请求curl _ close($ curl);//显示获得的数据print _ r($ data);PHP//Initialize $ curl=curl _ init();//设置URL curl _ setopt ($ curl,curl opt _ URL,' http://www . Baidu.com ');//将返回的输出设置为文本流curl _ setopt ($ curl,curl opt _ returntransfer,true);//将post模式设置为submit curl _ setopt ($ curl,curl opt _ post,1);//设置post data curl _ setopt ($ curl,curl opt _ postfields,array(' data '=' value ');//执行命令$ data=curl _ exec($ curl);//关闭URL请求curl _ close($ curl);//打印数据print _ r($ data);
感兴趣的学生也可以参考php官方文档来了解更多关于curl的用法。