PHP网络技术三CURL实现跨服

PHP网络技术(三)

——CURL实现跨服务取接口功能

(原创内容,转载请注明来源,谢谢)

PHP的curl类库,可以实现远程访问、页面抓取、表单提交、文件上传、本地服务访问等,功能强大而调用方式简单。

一、curl请求

PHP的curl请求包括四个部分:

1、初始化curl句柄。

$ch=curl_init();

2、对curl句柄进行选项的设置,包括url、参数、最大连接数等。

curl_setopt($ch,CURLOPT_URL,‘.0.0.1/test.PHP?name=”a”’);

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

curl_setopt($ch,CURLOPT_HEADER,1);

3、执行curl,获取返回值(HTML形式)。

$result=curl_exec($ch);

if(false===$result){

$err=curl_error($ch);

}

4、释放curl句柄。

curl_close($ch);

具体解释:

1)首先,初始化curl,只需要一个init的函数即可。返回值是PHP的resource类型变量。

2)接着,设置选项。setopt函数很重要,几个关键的设置关系到curl执行和返回的全过程。

主要的设置如下:

a.CURLOPT_AUTOREFERER:当curl执行的返回需要重定向时,设置此选项可以让重定向过程自动设置header信息,以便于重定向。

b.CURLOPT_COOKIESESSION:使用此选项,可以限制仅发送一个sessioncookie,而不发送其他的cookie。sessioncookie是指存放用户session的cookie,用于标记用户的session状况,可以验证是否登陆等信息。

c.CURLOPT_RETURNTRANSFER:指定exec函数执行后,返回的是文件流格式,而不是直接在屏幕输出。

d.CURLOPT_HTTPHEADER:设定HTTP头字段组成的数组,形式array(‘Content-type:text/plain’,‘Content-length:’)

e.CURLOPT_INFILE:设定上传文件的文件地址。

f.CURLOPT_POSTFIELDS:全部数据使用HTTP协议的POST发送,要求要发送的文件前面用

字符并且是完整路径,参数要求用urlencoded方法加密,并且把信息转换成字符串’para1=val1para2=val2…’的形式。

g.CURLOPT_MAXCONNECTS:允许最大连接数量。

3)第三步,是执行curl,用exec函数可以执行,并且有返回结果。同时,如果执行失败,则返回false,可以用error获取到错误详情。

需要注意的是,要用===(全等,值与类型都相等)符号判断是否是false,反之返回空字符串、数字0或者空数组被判定为false。

4)最后,用close关闭curl的句柄,结束curl连接。

另外,可以用curl_getinfo($ch)放在exec函数执行之后,返回执行此次curl操作的各项关键信息数组,如







































儿童会患白癜风
白癜风可以治吗



转载请注明:http://www.guyukameng.com/aspnet/2020-03-09/11262.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了