当前位置:首页 > 企业简介 >

php中curl的应用

作者:曲靖市宁江木业有限公司 来源:www.ynnjmy.com 发布时间:2017-09-07 13:10:22

php中curl的应用

cURL可以使用URL的语法模拟浏览器来传输数据,因为它是模拟浏览器,因此它同样支持多种协议,FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET,DICT, FILE 以及 LDAP等协议都可以很好的支持,包括一些:HTTPS认证,HTTP POST方法,HTTP PUT方法,FTP上传,keyberos认证,HTTP上传,代理服务器,cookies,用户名/密码认证,下载文件断点续传,上传文件断点续传,http代理服务器管道,甚至它还支持IPv6,scoket5代理服务器,通过http代理服务器上传文件到FTP服务器等等。

使用PHP的cURL库可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了。无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内容,cURL 是一个功能强大的PHP库。

1、PHP建立CURL请求的基本步骤

①:初始化

curl_init()

②:设置属性

curl_setopt().有一长串cURL参数可供设置,它们能指定URL请求的各个细节。

③:执行并获取结果

curl_exec()

④:释放句柄

curl_close()

2、实例:

php curl 发送get请求:

[php] view plain copy

//初始化

$curl=curl_init();

//设置抓取的url

curl_setopt($curl,CURLOPT_URL,'');

//设置头文件的信息作为数据流输出

curl_setopt($curl,CURLOPT_HEADER,1);

//设置获取的信息以文件流的形式返回,而不是直接输出。

curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);

//执行命令

$data=curl_exec($curl);

echocurl_getinfo($curl,CURLINFO_HTTP_CODE);//输出请求状态码

//关闭URL请求

curl_close($curl);

//显示获得的数据

print_r($data);

php curl 发送post请求:

[php] view plain copy

//初始化

$curl=curl_init();

//设置抓取的url

curl_setopt($curl,CURLOPT_URL,'');

//设置头文件的信息作为数据流输出

curl_setopt($curl,CURLOPT_HEADER,1);

//设置获取的信息以文件流的形式返回,而不是直接输出。

curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);

//设置post方式提交

curl_setopt($curl,CURLOPT_POST,1);

//设置post数据

$post_data=array(

"title"=>"1290800466",

"content"=>"3424243243"

);

//post提交的数据

curl_setopt($curl,CURLOPT_POSTFIELDS,$post_data);

//执行命令

$data=curl_exec($curl);

//关闭URL请求

curl_close($curl);

//显示获得的数据

print_r($data);


test.php:

[php] view plain copy

$title=$_REQUEST['title'];

$content=$_REQUEST['content'];

error_log($title."\n",3,'error.log');

error_log($content."\n",3,'error.log');

echo'ok';

3、PHP cURL 函数:

以下包含了PHP cURL函数列表:

函数

描述


curl_close()

关闭一个cURL会话。


curl_copy_handle()

复制一个cURL句柄和它的所有选项。


curl_errno()

返回最后一次的错误号。


curl_error()

返回一个保护当前会话最近一次错误的字符串。


curl_escape()

返回转义字符串,对给定的字符串进行URL编码。


curl_exec()

执行一个cURL会话。


curl_file_create()

创建一个 CURLFile 对象。


curl_getinfo()

获取一个cURL连接资源句柄的信息。


curl_init()

初始化一个cURL会话。


curl_multi_add_handle()

向curl批处理会话中添加单独的curl句柄。


curl_multi_close()

关闭一组cURL句柄。


curl_multi_exec()

运行当前 cURL 句柄的子连接。


curl_multi_getcontent()

如果设置了CURLOPT_RETURNTRANSFER,则返回获取的输出的文本流。


curl_multi_info_read()

获取当前解析的cURL的相关传输信息。


curl_multi_init()

返回一个新cURL批处理句柄。


curl_multi_remove_handle()

移除curl批处理句柄资源中的某个句柄资源。


curl_multi_select()

等待所有cURL批处理中的活动连接。


curl_multi_setopt()

设置一个批处理cURL传输选项。


curl_multi_strerror()

返回描述错误码的字符串文本。


curl_pause()

暂停及恢复连接。


curl_reset()

重置libcurl的会话句柄的所有选项。


curl_setopt_array()

为cURL传输会话批量设置选项。


curl_setopt()

设置一个cURL传输选项。


curl_share_close()

关闭cURL共享句柄。


curl_share_init()

初始化cURL共享句柄。


curl_share_setopt()

设置一个共享句柄的cURL传输选项。


curl_strerror()

返回错误代码的字符串描述。


curl_unescape()

解码URL编码后的字符串。


curl_version()

获取cURL版本信息。


4、curl_setopt函数参数介绍:

boolcurl_setopt( resource $ch,int$option, mixed $value)

参数说明:
ch 由 curl_init() 返回的 cURL 句柄。
option 需要设置的CURLOPT_XXX选项。
value 将设置在option选项上的值。

对于下面的这些option的可选参数,value应该被设置一个bool类型的值:

选项

可选value值

备注


CURLOPT_AUTOREFERER

当根据Location:重定向时,自动设置header中的Referer:信息。


CURLOPT_BINARYTRANSFER

在启用CURLOPT_RETURNTRANSFER的时候,返回原生的(Raw)输出。


CURLOPT_COOKIESESSION

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:荆州网站建设 http://jingzhou.45qun.com

  • 上一篇:AttributeError- 'module' object has no attribute
  • 下一篇:最后一页