phpcurlexec返回值,phpcurl详解

本文目录一览:

PHP中的curl_exec

curl_exec

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

可以参考官方网站范例:

你要用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=abcb=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 curl返回

给你个我写的curl方法。

/**

 * curl模拟提交

 * @param string $url 网址

 * @param array/string $opt 提交参数

 * @param string $header 取回的头信息

 * @param string $redirect 是否重定向

 * @param boolean $ssl 验证https证书

 * @return [type] 返回信息

 */

function curl($url, $opt=’GET’, $header=null, $redirect=true, $ssl=false){

//初始化

$ch = curl_init($url);

//配置设置

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $ssl);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, $ssl);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, $redirect);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); #返回结果

curl_setopt($ch, CURLOPT_HEADER, true); #显示协议头

if(is_array($opt)){

//转小写

$opt = array_change_key_case($opt, CASE_LOWER);

//POST

if(isset($opt[‘type’])  strtoupper($opt[‘type’])==’POST’){

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, (isset($opt[‘data’]) ? $opt[‘data’] : ”));

}

//User-Agent

if(array_key_exists(‘ua’, $opt))

curl_setopt($ch, CURLOPT_USERAGENT, $opt[‘ua’]);

//Header

if(array_key_exists(‘header’, $opt)){

curl_setopt($ch, CURLOPT_HTTPHEADER, (array)$opt[‘header’]);

}

//Cookie

if(array_key_exists(‘cookie’, $opt))

curl_setopt($ch, CURLOPT_COOKIE, $opt[‘cookie’]);

//Referer

if(array_key_exists(‘referer’, $opt))

curl_setopt($ch, CURLOPT_REFERER, $opt[‘referer’]);

}else{

//仅POST

if(strtoupper((string)$opt) == ‘POST’)

curl_setopt($ch, CURLOPT_POST, true);

}

$result = curl_exec($ch);

if(curl_errno($ch)){

$result = curl_error($ch);

}else{

//获取头长度

$length = curl_getinfo($ch, CURLINFO_HEADER_SIZE);

//取出头信息

$header = substr($result, 0, $length);

//去掉头信息

$result = substr($result, $length);

}

//释放

curl_close($ch);

return $result;

}

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

可以将他返回的内容赋值给一个

变量

。只需再

前面

加上,curl_setopt($ch,CUROPT_RETURNTRANSFER,1);就可以将返回结果赋值给变量了。比如,$r=curl_exec($ch);这时返回的结果全部包含再$r中,想

什么时候

输出什么时候输出,如果不准备要他的结果,那么就将前面的1换成0

php curl_exec无法返回结果

你要显示是不是需要这个参数,你试试

// 设置curl 参数,要求结果保存到变量中还是输出到屏幕上,false直接输出到屏幕上。

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$return_data = curl_exec($ch);

curl_close($ch);

var_dump($return_data);

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

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

(PHP 4 = 4.0.2, PHP 5)

curl_exec — 执行一个cURL会话

说明

mixed curl_exec ( resource $ch )

执行给定的cURL会话。

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

参数

ch

由 curl_init() 返回的 cURL 句柄。

返回值

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

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

//从返回结果中获取指定的值

$res=curl_exec($ch);

$pa = ‘%ul class=”ul1″li本站主数据:(.*?)/li%si’;

preg_match($pa,$res,$r);

return  $r[1];

//第二种 的返回结果是以json形式。

$res=json_decode(curl_exec($ch),true);

print_r($res);

请教关于curl_exec返回值的问题~~~ – PHP进阶讨论

[php]$curlObj = curl_init();curl_setopt($curlObj, CURLOPT_URL, $url); // 设置访问的urlcurl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1); //curl_exec将结果返回,而不是执行$result = curl_exec($curlObj);[/php]

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/240063.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 12:20
下一篇 2024-12-12 12:20

相关推荐

  • Python无参无返回值函数示例

    本文将以Python语言为中心,介绍无参无返回值函数的基本概念和用法。无参无返回值函数是指不需要传递参数,也不需要返回值的函数,主要用于执行特定的任务或操作。下面,我们将从以下几个…

    编程 2025-04-27
  • Python中return返回值返回给谁?

    对于python开发人员来说,return语句是必不可少的一部分。通过return语句,我们可以把函数执行的结果返回给调用者。那么return返回值返回给谁呢?在本文中,我们将从多…

    编程 2025-04-27
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • nginx与apache应用开发详解

    一、概述 nginx和apache都是常见的web服务器。nginx是一个高性能的反向代理web服务器,将负载均衡和缓存集成在了一起,可以动静分离。apache是一个可扩展的web…

    编程 2025-04-25
  • MPU6050工作原理详解

    一、什么是MPU6050 MPU6050是一种六轴惯性传感器,能够同时测量加速度和角速度。它由三个传感器组成:一个三轴加速度计和一个三轴陀螺仪。这个组合提供了非常精细的姿态解算,其…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25
  • 详解eclipse设置

    一、安装与基础设置 1、下载eclipse并进行安装。 2、打开eclipse,选择对应的工作空间路径。 File -> Switch Workspace -> [选择…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25

发表回复

登录后才能评论