php curl发送请求详细教程-php教程

资源魔 23 0

假如你想理解更多对于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

抱歉,评论功能暂时关闭!