假如你想理解更多对于php的常识,能够点击:php教程
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库。
一、PHP建设CURL申请的根本步骤
①:初始化
curl_init()
②:设置属性
curl_setopt()
.有一长串cURL参数可供设置,它们能指定URL申请的各个细节。
③:执行并猎取后果
curl_exec()
④:开释句柄
curl_close()
二、实例:
php curl 发送get申请:
//初始化 $curl = curl_init(); //设置抓取的url curl_setopt($curl, CURLOPT_URL, 'http://www.百度.com'); //设置头文件的信息作为数据流输入 curl_setopt($curl, CURLOPT_HEADER, 1); //设置猎取的信息以文件流的方式前往,而没有是间接输入。 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //执行饬令 $data = curl_exec($curl); echo curl_getinfo($curl,CURLINFO_HTTP_CODE); //输入申请状态码 //封闭URL申请 curl_close($curl); //显示取得的数据 print_r($data);
php curl 发送post申请:
//初始化 $curl = curl_init(); //设置抓取的url curl_setopt($curl, CURLOPT_URL, 'http://localhost/test/test.php'); //设置头文件的信息作为数据流输入 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 $title = $_REQUEST['title']; $content = $_REQUEST['content']; error_log($title."\n",3,'error.log'); error_log($content."\n",3,'error.log'); echo 'ok';
三、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版本信息。 |
胜利时前往 TRUE, 或许正在失败时前往 FALSE。
一些状态代码
1xx:申请收到,持续解决
2xx:操作胜利收到,剖析、承受
3xx:实现此申请必需进一步解决
4xx:申请蕴含一个谬误语法或不克不及实现
5xx:效劳器执行一个齐全无效申请失败
100——客户必需持续收回申请
101——客户要求效劳器依据申请转换HTTP协定版本
200——买卖胜利
201——提醒晓得新文件的URL
202——承受以及解决、但解决未实现
203——前往信息没有确定或没有完好
204——申请收到,但前往信息为空
205——效劳器实现了申请,用户代办署理必需复位以后曾经阅读过的文件
206——效劳器曾经实现了局部用户的GET申请
300——申请的资本可正在多处失去
301——删除了申请数据
302——正在其余地点发现了申请数据
303——倡议客户拜访其余URL或拜访形式
304——客户端曾经执行了GET,但文件未变动
305——申请的资本必需从效劳器指定的地点失去
306——前一版本HTTP中应用的代码,现行版本中再也不应用
307——声明申请的资本暂时性删除了
400——谬误申请,如语法谬误
401——申请受权失败
402——保存无效ChargeTo头呼应
403——申请没有容许
404——不发现文件、查问或URl
405——用户正在Request-Line字段界说的办法没有容许
406——依据用户发送的Accept拖,申请资本不成拜访
407——相似401,用户必需起首正在代办署理效劳器上失去受权
408——客户端不正在用户指定的饿工夫内实现申请
409——对以后资本状态,申请不克不及实现
410——效劳器上再也不有此资本且无进一步的参考地点
411——效劳器回绝用户界说的Content-Length属性申请
412——一个或多个申请头字段正在以后申请中谬误
413——申请的资本年夜于效劳器容许的巨细
414——申请的资本URL长于效劳器容许的长度
415——申请资本没有支持申请名目格局
416——申请中蕴含Range申请头字段,正在以后申请资本范畴内不range批示值,申请
也没有蕴含If-Range申请头字段
417——效劳器没有餍足申请Expect头字段指定的希冀值,假如是代办署理效劳器,多是下一级效劳器不克不及餍足申请
500——效劳器孕育发生外部谬误
501——效劳器没有支持申请的函数
502——效劳器临时不成用,有时是为了避免发作零碎过载
503——效劳器过载或暂停培修
504——关隘过载,效劳器应用另外一个关隘或效劳来呼应用户,期待工夫设定值较长
505——效劳器没有支持或回绝支申请头中指定的HTTP版本
以上就是php curl发送申请具体教程的具体内容,更多请存眷资源魔其它相干文章!
标签: php php开发教程 php开发资料 php开发自学 curl