当前位置:首页 » 编程语言 » phpexeccurl

phpexeccurl

发布时间: 2022-05-21 09:57:38

php 中 怎么让curl_exec 以数组形式返回

可以先看看PHP中的 curl_exec函数的说明


(PHP 4 >= 4.0.2, PHP 5)

curl_exec—执行一个cURL会话

说明

mixedcurl_exec(resource$ch)

执行给定的cURL会话。

这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。

参数


ch

由curl_init()返回的 cURL 句柄。

返回值

成功时返回TRUE, 或者在失败时返回FALSE。 然而,如果CURLOPT_RETURNTRANSFER选项被设置,函数执行成功时会返回执行的结果,失败时返回FALSE。



我前两天刚好用到过的两种情况

//从返回结果中获取指定的值
$res=curl_exec($ch);
$pa='%<ulclass="ul1"><li>本站主数据:(.*?)</li>%si';
preg_match($pa,$res,$r);
return$r[1];
//第二种的返回结果是以json形式。
$res=json_decode(curl_exec($ch),true);
print_r($res);

Ⅱ php curl的几种用法

总结一下项目中用到curl的几种方式 1. php curl的默认调用方法,get方式访问url $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); //设置http头 curl_setopt($ch, CURLOPT_ENCODING, "gzip" ); //设置为客户端支持gzip压缩 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30 ); //设置连接等待时间 curl_setopt($ch, CURLOPT_URL, $url ); curl_exec( $ch ); if ($error = curl_error($ch) ) {//出错处理return -1;}fclose($fp); $curl_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); //获取http返回值 if( $curl_code == 200 ) { //正常访问url}//异常 2. 设置http header支持curl访问lighttpd服务器Java代码$header[]= 'Expect:'; $header[]= 'Expect:'; 3. 设置curl,只获取http header,不获取body:Java代码curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_NOBODY, 1); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_NOBODY, 1); 或者只获取body:Java代码curl_setopt($ch, CURLOPT_HEADER, 0); // make sure we get the body curl_setopt($ch, CURLOPT_NOBODY, 0); curl_setopt($ch, CURLOPT_HEADER, 0); // make sure we get the body curl_setopt($ch, CURLOPT_NOBODY, 0); 4. 访问虚拟主机,需设置Host $header[]= 'Host: '.$host; 5. 使用post, put, delete等REStful方式访问urlpost:curl_setopt($ch, CURLOPT_POST, 1 ); put, delete: curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE"); //或者PUT,需要服务器支持这些方法。6. 保存下载内容为文件

Ⅲ 求指点PHP里的curl_exec问题

Header("Content-type: application/octet-stream");//文件类型

//提示浏览器将要下载文件
Header("Content-Disposition: attachment; filename=随便起个文件名");//提示给用户的文件名
echo $content; 输出

//试一下吧

Ⅳ 请问下php中如何处理这个curl_exec()的结果

可以使用 empty() 函数,
if ( empty( $data ) ) {
// 为空
} else {
// 不为空
}

如果是其他某种不明原因导致报错,可以用异常机制,
try {
if ( !$data ) { // 这里的条件也可以用其他
throw new Exception ( 'error' );
} else {
echo ' success ';
}
} catch (Exception $e) {
echo ' error ';
}

Ⅳ php curl_exec无法返回结果

你要显示是不是需要这个参数,你试试
// 设置curl 参数,要求结果保存到变量中还是输出到屏幕上,false直接输出到屏幕上。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$return_data = curl_exec($ch);
curl_close($ch);
var_mp($return_data);

Ⅵ PHP中的curl_exec

curl_exec

(PHP 4 >= 4.0.2, PHP 5) curl_exec—执行一个cURL会话

可以参考官方网站范例:http://www.php.net/manual/en/function.curl-exec.php

你要用CURL,就跟Session一样,要先初始化 curl_init(),不然PHP部会知道该怎么运作。初始化完成之后就要开始设定参数,就像是要不要显示出来。当你参数设定完毕,就要开始执行这个CURL。最后就要关闭这个CURL。这就算是一个简单的CURL运用,当然还有更多变化。

实际例子:

<?php
//创建一个cURL资源
$ch=curl_init();

//设置URL和相应的选项
curl_setopt($ch,CURLOPT_URL,"
);
curl_setopt($ch,CURLOPT_HEADER,0);

//抓取URL并把它传递给浏览器
curl_exec($ch);

//关闭cURL资源,并且释放系统资源
curl_close($ch);
?>

如使用mysql一样,首先,我们必须先建立一个“curl”的连线,也因此,必须使用到 curl_init() 这个函式。而为了怕建立连线忘了关闭。因此,必须先写好关闭的函式,curl_close($ch)。

不过大部分HTML标签都可以抓下来,并且显示,可是有部分可能与资料加密性或是转址的部分,就无法正常显示。

/建立CURL连线
$ch=curl_init();
//设定撷取的URL网址
curl_setopt($ch,CURLOPT_URL,"
);
curl_setopt($ch,CURLOPT_HEADER,false);
//将curl_exec()获取的讯息以文件流的形式返回,而不是直接输出。
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
//执行
$temp=curl_exec($ch);
//关闭CURL连线
curl_close($ch)

加上curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);之后,他会将curl_exec()获取的讯息以文件流的形式返回传给$temp,而不是直接输出。如果要显示出画面的话就加上 echo $temp;就可以了。

下面先分享一个比较常用的,传递参数的部分。

简易的使用语法(GET):

//建立CURL连线
$ch=curl_init();
//设定撷取的URL网址
curl_setopt($ch,CURLOPT_URL,"
);
curl_setopt($ch,CURLOPT_HEADER,false);
//将curl_exec()获取的讯息以文件流的形式返回,而不是直接输出。
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
//执行
$temp=curl_exec($ch);
//关闭CURL连线
curl_close($ch)

Get参数可以直接在网址传递例如网址后面加的?SomeVar=test,但是一旦资料量很大,用POST送还是比较适合。

简易的使用语法(POST):

//建立CURL连线
$ch=curl_init();
//设定撷取的URL网址
curl_setopt($ch,CURLOPT_URL,"
);
curl_setopt($ch,CURLOPT_HEADER,false);
//将curl_exec()获取的讯息以文件流的形式返回,而不是直接输出。
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
//设定要传的变数A=值A&变数B=值B(中间要用&符号串接)
$PostData="a=abc&b=def";
//设定CURLOPT_POST为1或true,表示要用POST方式传递
curl_setopt($ch,CURLOPT_POST,1);
//CURLOPT_POSTFIELDS后面则是要传接的POST资料。
curl_setopt($ch,CURLOPT_POSTFIELDS,$PostData);
//执行
$temp=curl_exec($ch);
//关闭CURL连线
curl_close($ch)

以上的传递方式在某些状况下很好用,譬如说,没有设计完整的会员申请系统,就可以利用上面这些程式码,做一个自动注册申请机

Ⅶ php如何执行linux的curl指令

curl 不是即时的输入输出的命令,php 有运行时间限制, curl 运行会导致 curl 运行时间不够而被杀掉的。

php 有运行 linux 命令的函数,记得 system() 是一个,之后还有另外一个。注意这两个命令是可以在 php.ini/php.conf 里面设置禁止使用的。

Ⅷ 在php中,curl_exec响应速度非常慢

  1. 最简便的方法是用ip地址代替域名进行测试,如果有改进就是说明网络域名服务器配置有问题,多换几个DNS来尝试。

  2. php 有个非常非常重要的函数叫做curl_getinfo ,请查一下这个函数的手册说明,能够有效地把每一步操作所消耗的时间都分析出来,帮助你锁定瓶颈,缩小问题范围

  3. 永远都不要用windows当服务器。LAMP 就是指的 Linux + Apache + MySQL + PHP,黄金组合,非常稳定非常可靠。

Ⅸ php curl_exec,服务器上开启了这个功能,但是提示无法加载

提示页面无法加载不是curl没有打开,而是代码中有错,如果是curl没有打开的话会报curl_exec这个函数找不到等类似的错误,而不是无法加载的500错误。
你看看状态码,如果是500找找代码哪里有错。

Ⅹ 如何在php中获取curl请求的请求头信息及相应头信息

<?php
$url='http://demo.zjmainstay.cn';
$ch=curl_init($url);
curl_setopt($ch,CURLOPT_HEADER,true);//返回头信息
curl_setopt($ch,CURLOPT_NOBODY,true);//不返回内容
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//返回数据不直接输出
$content=curl_exec($ch);//执行并存储结果
curl_close($ch);
echo$content;

更多关于phpcURL的内容,请参考我的博客《PHPcURL应用》
http://www.zjmainstay.cn/php-curl

热点内容
怎么改密码锁 发布:2025-02-13 23:47:39 浏览:852
androidbitmap获取大小 发布:2025-02-13 23:47:38 浏览:559
怎么把升级鸿蒙系统变回安卓 发布:2025-02-13 23:36:07 浏览:595
偶校验c语言 发布:2025-02-13 23:22:52 浏览:937
芒果如何提取离线缓存视频 发布:2025-02-13 23:16:12 浏览:793
王者荣耀微信区安卓哪里分低 发布:2025-02-13 23:14:10 浏览:658
安装linuxvmwaretools 发布:2025-02-13 22:56:02 浏览:8
浪潮服务器如何引导系统安装光盘 发布:2025-02-13 22:56:02 浏览:112
java多线程的同步 发布:2025-02-13 22:46:15 浏览:920
软件使用权限里存储关闭还是打开 发布:2025-02-13 22:46:11 浏览:382