关于PHP的curl开启问题探讨

今天在做一个新浪登录功能,新浪提供的PHP SDK里需要用到curl_init()函数,在调试的时候报找不到curl_init()的方法。
经搜索得知需要开启curl的php扩展,那curl又是什么呢?能做什么?
简单介绍,当我们需要抓去某个网站的数据信息时,可以用到file(),file_get_contents()等网页读取函数,因为 过多的小偷程序泛滥,导致一些站点做了域名限制,从而是的这些file()函数效率低下甚至失效。
如果使用curl来优化一下的话就能进行一些表单,cookie,验证等功能的强大,灵活的功效。

开启curl的步骤

1.在localhost站点下输出一下phpinfo,以此来检测php.ini的所在
(因为我在开启CURL的时候,是在php的安装目录配置php.ini,结果一直不生效,后来查了phpinfo才知道php.ini在apache
的配置文件里被我重定向了)
2.打开php.ini文件,搜索php_curl.dll,找到后删除前面的“;”,重启apache
3.如果测试还是找不到curl_init(),就将php目录下的ext目录里的php_curl.dll,和php目录下的libeay32.dll,php5ts.dll,ssleay32.dll
拷贝至c:\windows\system32下,重启apache
验证curl扩展是否开启,可在phpinfo()里查找
也可以使用程序验证


代码如下:

// 1. 初始化
$ch = curl_init();
// 2. 设置选项,包括URL
curl_setopt($ch, CURLOPT_URL, "http://www.tupc1028.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
// 3. 执行并获取HTML文档内容
$output = curl_exec($ch);
// 4. 释放curl句柄
curl_close($ch);
$output = curl_exec($ch);
if ($output === FALSE) {
echo "cURL Error: " . curl_error($ch);
}

(0)

相关推荐

  • 开启CURL扩展,让服务器支持PHP curl函数(远程采集)

    curl().file_get_contents().snoopy.class.php这三个远程页面抓取或采集中用到的工具,默迹还是侵向于用snoopy.class.php,因为他效率比较高且不需要服务器特定配置支持,在普通虚拟主机中即可使用,file_get_contents()效率稍低些,常用失败的情况.curl()效率挺高的,支持多线程,不过需要开启下curl扩展.下面是curl扩展开启的步骤: 1.将PHP文件夹下的三个文件php_curl.dll,libeay32.dll,ssleay

  • windows 2008 R2 64位服务器中开启php curl扩展的方法

    今天小编接到一客户的提问:系统是windows2008R2版 php_curl这个扩展没有开启,我当时在想怎么可能呢,小编配了好多次每个扩展就是开启的这个函数 进服务器看了下没有任何问题,extension=php_curl.dll这个明明是开启的,libeay32.dll.ssleay32.dll .php_curl.dll 这几个文件在C:\WINDOWS\system32目录下也有,加载phpinfo时怎么就没有Curl项呢 重新注册在开始-运行-输入regsvr32 php_curl.d

  • PHP中使用curl入门教程

    概述 在我的上一篇文章"curl和libcurl简介"中简单的给大家介绍了curl相关的知识.这篇文章向大家介绍一下PHP中的curl扩展. 尽管在上一篇文章中,对curl和libcurl做了区分,也解释了某些相关的概念.同时,也知道了PHP中的curl扩展其实是对libcurl的封装.但是,在这篇文章中,为了写起来方便,将不再对这两个概念进行区分,因此文章接下来提到的curl其实是指libcurl,希望不会把大家绕糊涂. 关于PHP中curl扩展这里就不再过多介绍了,大家可以查下文档

  • PHP简单开启curl的方法(测试可行) 原创

    本文讲述了PHP简单开启curl的方法.分享给大家供大家参考,具体如下: 一.问题: windows主机出现"Call to undefined function curl_init"错误提示,没有定义的函数,也就是php还没打开对curl_init函数的支持. 二.解决方法: 需要开启php的curl函数库.具体步骤如下: ① 打开php.ini(通常在C:\Windows\目录下,WampServer一般在类似C:\wamp\bin\php\php5.3.8\的目录下),找到 复制

  • php使用curl打开https网站的方法

    本文实例讲述了php使用curl打开https网站的方法.分享给大家供大家参考.具体实现方法如下: $url = 'https://www.google.com.hk'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CU

  • PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发

    复制代码 代码如下: /** * CURL请求 * @param String $url 请求地址 * @param Array $data 请求数据 */ function curlRequest($url,$data='',$cookieFile=''){ $ch = curl_init(); $option = array( CURLOPT_URL => $url, CURLOPT_HEADER =>0, CURLOPT_RETURNTRANSFER => 1, ); if($co

  • 关于PHP的curl开启问题探讨

    今天在做一个新浪登录功能,新浪提供的PHP SDK里需要用到curl_init()函数,在调试的时候报找不到curl_init()的方法. 经搜索得知需要开启curl的php扩展,那curl又是什么呢?能做什么? 简单介绍,当我们需要抓去某个网站的数据信息时,可以用到file(),file_get_contents()等网页读取函数,因为 过多的小偷程序泛滥,导致一些站点做了域名限制,从而是的这些file()函数效率低下甚至失效. 如果使用curl来优化一下的话就能进行一些表单,cookie,验

  • wamp2.2e 64位 curl 开启不了的解决办法

    刚装完的wamp,然后去php.ini里开启curl   (extension=php_curl.dll) 发现用不了    从网上找了很多方法都解决不了 后来经过多次尝试发现是  wamp2.2e 64位   自带的  php_curl.dll 文件有问题 于是去官网下载 php_curl.dll 文件(注意:要与php版本对应  我的是 php5.3.13) 然后覆盖 ext 目录里的 php_curl.dll 文件   重启Apache    搞定!

  • php使用curl获取header检测开启GZip压缩的方法

    本文实例讲述了php使用curl获取header检测开启GZip压缩的方法.分享给大家供大家参考,具体如下: 获得网页header信息,是网站开发人员和维护人员常用的技术.网页的header信息,非常丰富,非专业人士一般较难读懂和理解各个项目的含义. 获取网页header信息,方法多种多样,就php语言来说,我作为一个菜鸟,知道的方法也有4种那么多.下面逐一献上. 方法一:使用get_headers()函数 这个方法很多人使用,也很简单便捷,只需要两行代码即可搞定.如下: $thisurl =

  • win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法

    本文讲述了PHP简单开启curl的方法.分享给大家供大家参考,具体如下: 一.问题: windows主机出现"Call to undefined function curl_init"错误提示,没有定义的函数,也就是php还没打开对curl_init函数的支持.网站搭建时一直提示      系统不支持curl 二.解决方法: 需要开启php的curl函数库.具体步骤如下: ① 打开php.ini(通常在C:\Windows\目录下,WampServer一般在类似C:\wamp\bin\

  • 探讨file_get_contents与curl效率及稳定性的分析

    做过好多抓取别家网站内容的产品,习惯了使用方便快捷的file_get_contents函数,但是总是会遇到获取失败的问题,尽管按照手册中的例子设置了超时,可多数时候不会奏效: 复制代码 代码如下: $config['context'] = stream_context_create(array('http' => array('method' => "GET",   'timeout' => 5//这个超时时间不稳定,经常不奏效   )  )); 这时候,看一下服务器

  • 探讨如何在PHP开启gzip页面压缩实例

    示例一(用php的内置压缩函数): 复制代码 代码如下: <?PHP if(Extension_Loaded('zlib')) Ob_Start('ob_gzhandler'); Header("Content-type: text/html"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/D

  • 使用Curl进行抓取远程内容时url中文编码问题示例探讨

    PHP中对于URL进行编码,可以使用 urlencode() 或者 rawurlencode(),二者的区别是前者把空格编码为 '+',而后者把空格编码为 '%20',不过应该注意的是,在编码时应该只对部分URL编码,否则URL中的冒号和反斜杠也会被转义.下面是详细解释: 复制代码 代码如下: string urlencode( string str) 返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+). 例子 1 :u

随机推荐