当前位置: 网学 > 编程文档 > PHP > 正文

在PHP中使用curl_init函数的说明

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/06/22
t'', $output);
// Print output
echo $output;
?>

在上面的2个实例中,你可能注意到通过设置函数curl_setopt()的不同参数,可以获得不同结果,这正是curl强大的原因,下面我们来看看这些参数的含义。
CURL的相关选项:
如果你看过php手册中的curl_setopt()函数,你可以注意到了,它下面长长的参数列表,我们不可能一一介绍,更多的内容请查看PHP手册,这里只介绍常用的和有的一些参数。
第一个很有意思的参数是 CURLOPT_FOLLOWLOCATION ,当你把这个参数设置为true时,curl会根据任何重定向命令更深层次的获取转向路径,举个例子:当你尝试获取一个PHP的页面,然后这个PHP的页面中有一段跳转代码 ,curl将从http://new_url获取内容,而不是返回跳转代码。完整的代码如下:
复制代码 代码如下:
// create a new curl resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, “http://www.google.com/”);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
// grab URL, and print
curl_exec($ch);
?>

如果Google发送一个转向请求,上面的例子将根据跳转的网址继续获取内容,和这个参数有关的两个选项是CURLOPT_MAXREDIRS和CURLOPT_AUTOREFERER .
参数CURLOPT_MAXREDIRS选项允许你定义跳转请求的最大次数,超过了这个次数将不再获取其内容。如果CURLOPT_AUTOREFERER 设置为true时,curl会自动添加Referer header在每一个跳转链接,可能它不是很重要,但是在一定的案例中却非常的有用。
下一步介绍的参数是CURLOPT_POST,这是一个非常有用的功能,因为它可以让您这样做POST请求,而不是GET请求,这实际上意味着你可以提交
其他形式的页面,无须其实在表单中填入。下面的例子表明我的意思:
复制代码 代码如下:
// create a new curl resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL,”http://projects/phpit/content/using%20curl%20php/demos/handle_form.php”);
// Do a POST
$data = array(''name'' => ‘Dennis'', ''surname'' => ‘Pallett'');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
// grab URL, and print
curl_exec($ch);
?>
And the handle_form.php file:
echo ‘Form variables I received:'';
echo ‘'';
print_r ( 在PHP中使用curl_init函数的说明_网学
浏览:
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号
POST);
echo ‘'';
?>

正如你可以看到,这使得它真的很容易提交形式,这是一个伟大的方式来测试您的所有形式,而不以填补他们在所有的时间。
参数CURLOPT_CONNECTTIMEOUT 通常用来设置curl尝试请求链接的时间,这是一个非常重要的选项,如果你把这段时间设置的太短了,可能会导致curl请求失败。
但是如果你把它设置的时间太长了,可能PHP脚本将死掉。和这个参数相关的一个选项是 CURLOPT_TIMEOUT,这是用来设置curl允许执行的时间需求。如果您设置这一个很小的值,它可能会导下载的网页上是不完整的,因为他们需要一段时间才能下载
最后一个选项是 CURLOPT_USERAGENT,它允许你自定义请求是的客户端名称,比如webspilder或是IE6.0.示例代码如下:
复制代码 代码如下:
// create a new curl resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, “http://sc.jb51.net/”);
curl_setopt($ch, CURLOPT_USERAGENT, ‘My custom web spider/0.1′);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
// grab URL, and print
curl_exec($ch);
?>

现在我们把最有意思的一个参数都介绍过了,下面我们来介绍一个curl_getinfo() 函数,看看它能为我们做些什么。
获取页面的

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号