首页 > 编程 > PHP > 正文

php中curl的用法

2020-03-22 19:07:30
字体:
来源:转载
供稿:网友
  • 简单的例子

    首先给出一个最简单的例子

    $url = 'http://zhyoulun.com';$ch = curl_init($url);  //初始化一个cURL会话curl_exec($ch);  //执行一个cURL会话curl_close($ch);    //关闭一个cURL会话

    运行之后可以看到,网页的源代码被打印了出来。

    将网页源代码存储到变量中
    $url = 'http://zhyoulun.com';$ch = curl_init($url);  //初始化一个cURL会话//设置cURL传输选项curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //将curl_exec()获取的信息以字符串返回,而不是直接输出。$content = curl_exec($ch);  //执行一个cURL会话curl_close($ch);    //关闭一个cURL会话echo $content.''; //输出网页源代码

    这里用到了参数CURLOPT_RETURNTRANSFER

    不输出头文件
    $url = 'http://zhyoulun.com';$ch = curl_init($url);  //初始化一个cURL会话//设置cURL传输选项curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //将curl_exec()获取的信息以字符串返回,而不是直接输出。curl_setopt($ch, CURLOPT_HEADER, false); //不输出头文件,如果设为true,获得的网页源代码最前边会带有'HTTP/1.1 200 OK'等内容$content = curl_exec($ch);  //执行一个cURL会话curl_close($ch);    //关闭一个cURL会话echo $content.''; //输出网页源代码

    这里用到了参数CURLOPT_HEADER

    将网页源代码输出到文件
    $url = 'http://zhyoulun.com';$fp = fopen('output.dat', 'w');$ch = curl_init($url);  //初始化一个cURL会话//设置cURL传输选项curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //将curl_exec()获取的信息以字符串返回,而不是直接输出。curl_setopt($ch, CURLOPT_HEADER, false); //不输出头文件,如果设为true,获得的网页源代码最前边会带有'HTTP/1.1 200 OK'等内容curl_setopt($ch, CURLOPT_FILE, $fp);   //设置输出文件,默认为STDOUT (浏览器)。curl_exec($ch);  //执行一个cURL会话curl_close($ch);    //关闭一个cURL会话fclose($fp);

    这里用到了参数CURLOPT_FILE

    指定userAgent

    userAgent属性是一个只读的字符串,声明了浏览器用于HTTP请求的用户代理头的值。在每次浏览器(邮件客户端/搜索引擎蜘蛛)进行HTTP请求时发送到服务器,服务器就知道了用户是使用什么浏览器(邮件客户端/搜索引擎蜘蛛)来访问的。

    这里有各种浏览器的userAgent的搜集。

    获取自己使用的浏览器的userAgent的方法

    <script>javascript:alert(navigator.userAgent)</script>

    或者便于复制的

    <script>window.onload=function(){    document.getElementById('content').innerHTML = ''+navigator.userAgent;}</script><div id='content'></div>

    我当前使用的浏览器的userAgent为Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36

    $url = 'http://zhyoulun.com';$ch = curl_init($url);  //初始化一个cURL会话//设置cURL传输选项curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //将curl_exec()获取的信息以字符串返回,而不是直接输出。curl_setopt($ch, CURLOPT_HEADER, false); //不输出头文件,如果设为true,获得的网页源代码最前边会带有'HTTP/1.1 200 OK'等内容curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36');    //在HTTP请求中包含一个'User-Agent: '头的字符串。$content = curl_exec($ch);  //执行一个cURL会话curl_close($ch);    //关闭一个cURL会话echo $content.''; //输出网页源代码

    这里用到了参数CURLOPT_USERAGENT

    连接超时 和 获取超时
    $url = 'http://zhyoulun.com';$ch = curl_init($url);  //初始化一个cURL会话//设置cURL传输选项curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //将curl_exec()获取的信息以字符串返回,而不是直接输出。curl_setopt($ch, CURLOPT_HEADER, false); //不输出头文件,如果设为true,获得的网页源代码最前边会带有'HTTP/1.1 200 OK'等内容curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36');    //在HTTP请求中包含一个'User-Agent: '头的字符串。curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);   //在尝试连接时等待的秒数。设置为0,则无限等待。这里设置为15秒curl_setopt($ch, CURLOPT_TIMEOUT, 30);   //允许 cURL 函数执行的最长秒数。这里设置为30秒$content = curl_exec($ch);  //执行一个cURL会话curl_close($ch);    //关闭一个cURL会话echo $content.''; //输出网页源代码        

    郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表