PHP中的数据传输CURL

来源:互联网 发布:企业价值衡量数据 编辑:程序博客网 时间:2024/05/22 02:25

确认是否安装了CURL扩展

Linux下命令:

<code class="hljs coffeescript has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">[root<span class="hljs-property" style="box-sizing: border-box;">@fengniu020</span> ~]<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># php -i | grep -i curl</span>Additional .ini files parsed<span class="hljs-function" style="box-sizing: border-box;"> =></span> /etc/php.d/curl.ini,curlcURL support<span class="hljs-function" style="box-sizing: border-box;"> =></span> enabledcURL Information<span class="hljs-function" style="box-sizing: border-box;"> =></span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7.19</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.7</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li></ul>

curl操作步骤解析:

这里写图片描述

CURL实例

  1. 一个简单的curl,抓取百度首页
  2. 下载一个网页并把内容中的“百度”替换为“摆渡”之后输出
  3. 调用WebService

一个简单的curl,抓取百度首页

<code class="hljs xml has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="php" style="box-sizing: border-box;"><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;"><?php</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curl</span>=curl_init(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'http://www.baidu.com'</span>);curl_exec(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curl</span>);curl_close(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curl</span>);<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">?></span></span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li></ul>

下载一个网页并把内容中的“百度”替换为“摆渡”之后输出

<code class="hljs xml has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="php" style="box-sizing: border-box;"><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;"><?php</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">/** * 实例描述:在网络上下载一个网页并把内容中的“百度”替换为“摆渡”之后输出 */</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span> = curl_init();            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 初始化</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_URL, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"http://www.baidu.com"</span>);        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 设置访问网页的URL</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_RETURNTRANSFER, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">true</span>);           <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 执行之后不直接打印出来</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$output</span>=curl_exec(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>);  <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 执行</span>curl_close(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>);          <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 关闭cURL</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">echo</span> str_replace(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"百度"</span>,<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"摆渡"</span>,<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$output</span>);<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">?></span></span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li></ul>

调用WebService

<code class="hljs xml has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="php" style="box-sizing: border-box;"><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;"><?php</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">/** * 实例描述:通过调用WebService查询北京的当前天气 * 下方接口,免费用户24小时内访问是有限制的,需要存储信息 */</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$data</span> = <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'theCityName=北京'</span>;<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//$data = 'theCityName=北京&';//多个用&号连接</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span> = curl_init();    curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_URL, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName"</span>);  curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_HEADER, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>); curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_RETURNTRANSFER, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>);  curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_POST, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>);  <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//POST方式</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_POSTFIELDS, <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$data</span>);  curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_HTTPHEADER, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">array</span>(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"application/x-www-form-urlencoded; charset=utf-8"</span>,     <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"Content-length: "</span>.strlen(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$data</span>)    )); <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//HTTP请求头</span>curl_setopt (<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_USERAGENT, <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$_SERVER</span>[<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'HTTP_USER_AGENT'</span>]);<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$rtn</span> = curl_exec(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>);   <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(!curl_errno(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>)){    <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// $info = curl_getinfo($curlobj); </span>    <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// print_r($info);</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">echo</span> <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$rtn</span>;  } <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span> {  <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">echo</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'Curl error: '</span> . curl_error(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>);}curl_close(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>);<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">?></span></span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li></ul>

登录慕课网并下载个人空间页面

<code class="hljs xml has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="php" style="box-sizing: border-box;"><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;"><?php</span>/** * 代码实例-PHP-cURL实战 * 实例描述:登录慕课网并下载个人空间页面 */</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// $data=array('email' => 'promonkey', </span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//  'password' => '1q2w3e',</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//  'remember'=>1);</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$data</span>=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'email=zjzhoufy@126.com&password=1q2w3e&remember=1'</span>;<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span> = curl_init();            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 初始化</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_URL, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"http://www.imooc.com/user/login"</span>);     <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 设置访问网页的URL</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_RETURNTRANSFER, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">true</span>);           <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 执行之后不直接打印出来</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// Cookie相关设置,这部分设置需要在所有会话开始之前设置</span>date_default_timezone_set(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'PRC'</span>); <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 使用Cookie时,必须先设置时区</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_COOKIESESSION, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">TRUE</span>); <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//让curl支持cookie和session</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_COOKIEFILE, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'cookiefile'</span>);curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_COOKIEJAR, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'cookiefile'</span>);curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_COOKIE, session_name() . <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'='</span> . session_id());curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_HEADER, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>); <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//不打印header头信息</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_FOLLOWLOCATION, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>); <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 这样能够让cURL支持页面链接跳转</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_POST, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>);  curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_POSTFIELDS, <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$data</span>);  curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_HTTPHEADER, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">array</span>(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"application/x-www-form-urlencoded; charset=utf-8"</span>,     <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"Content-length: "</span>.strlen(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$data</span>)    )); curl_exec(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>);   <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 执行登录操作</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_URL, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"http://www.imooc.com/u/3296162/courses"</span>);<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//打开个人中心页面</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_POST, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>);  <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//下载某个网页不是POST</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_HTTPHEADER, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">array</span>(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"Content-type: text/xml"</span>    )); <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$output</span>=curl_exec(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>);  <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 执行和保存</span>curl_close(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>);          <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 关闭cURL</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">echo</span> <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$output</span>;<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">?></span></span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li></ul>

从FTP服务器下载一个文件到本地

<code class="hljs xml has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="php" style="box-sizing: border-box;"><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;"><?php</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">/** * 代码实例-PHP-cURL实战 * 实例描述:从FTP服务器下载一个文件到本地 */</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span> = curl_init();    curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_URL, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"ftp://192.168.1.100/downloaddemo.txt"</span>);  curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_HEADER, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>); curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_RETURNTRANSFER, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>);  curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_TIMEOUT, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">300</span>); <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// times out after 300s</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_USERPWD, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"peter.zhou:123456"</span>);<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//FTP用户名:密码</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// Sets up the output file</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$outfile</span> = fopen(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'dest.txt'</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'wb'</span>);<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//保存到本地的文件名</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_FILE, <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$outfile</span>);<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$rtn</span> = curl_exec(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>);  fclose(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$outfile</span>); <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(!curl_errno(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>)){    <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// $info = curl_getinfo($curlobj); </span>    <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// print_r($info);</span>    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">echo</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"RETURN: "</span> . <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$rtn</span>;  } <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span> {  <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">echo</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'Curl error: '</span> . curl_error(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>);}curl_close(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>);<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">?></span></span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li></ul>

把本地文件上传到FTP服务器上

<code class="hljs xml has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="php" style="box-sizing: border-box;"><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;"><?php</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">/** * 代码实例-PHP-cURL实战 * 实例描述:把本地文件上传到FTP服务器上 */</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span> = curl_init();    <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$localfile</span> = <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'ftp01.php'</span>;<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//需要上传的文件</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$fp</span> = fopen(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$localfile</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'r'</span>);curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_URL, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"ftp://192.168.1.100/ftp01_uploaded.php"</span>);<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//上传后保存的文件名</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_HEADER, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>); curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_RETURNTRANSFER, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>);  curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_TIMEOUT, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">300</span>); <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// times out after 300s</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_USERPWD, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"peter.zhou:123456"</span>);<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//FTP用户名:密码</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_UPLOAD, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>);curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_INFILE, <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$fp</span>);<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//传输打开的文件</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_INFILESIZE, filesize(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$localfile</span>));<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//上传的文件大小</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$rtn</span> = curl_exec(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>);  fclose(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$fp</span>); <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span>(!curl_errno(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>)){    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">echo</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"Uploaded successfully."</span>;  } <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span> {  <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">echo</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'Curl error: '</span> . curl_error(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>);}curl_close(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>);<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">?></span></span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li></ul>

下载网络上面的一个HTTPS的资源

<code class="hljs xml has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="php" style="box-sizing: border-box;"><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;"><?php</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">/** * 代码实例-PHP-cURL实战 * 实例描述:下载网络上面的一个HTTPS的资源 */</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span> = curl_init();            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 初始化</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_URL, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"https://ajax.aspnetcdn.com/ajax/jquery.validate/1.12.0/jquery.validate.js"</span>);       <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 设置访问网页的URL</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_RETURNTRANSFER, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">true</span>);           <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 执行之后不直接打印出来</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 设置HTTPS支持</span>date_default_timezone_set(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'PRC'</span>); <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 使用Cookie时,必须先设置时区</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_SSL_VERIFYPEER, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>); <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 对认证证书来源的检查从证书中检查SSL加密算法是否存在,设置为0就是终止从服务器端进行验证</span>curl_setopt(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>, CURLOPT_SSL_VERIFYHOST, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>); <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// </span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$output</span>=curl_exec(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>);  <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 执行</span>curl_close(<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$curlobj</span>);          <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 关闭cURL</span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">echo</span> <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$output</span>;<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">?></span></span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li></ul>

感谢慕课网!!!

PHP中的数据传输CURL
0 0