phpcurl数组
‘壹’ php curl 得到的数组被转成字符串 怎么转回数组
数组转成json结构
$arr = array();
$json = json_encode($arr); // json字符串
$arr = json_decode($json,TRUE); // 恢复数组
‘贰’ php 中 怎么让curl_exec 以数组形式返回
可以将他返回的内容赋值给一个
变量
。只需再
前面
加上,curl_setopt($ch,CUROPT_RETURNTRANSFER,1);就可以将返回结果赋值给变量了。比如,$r=curl_exec($ch);这时返回的结果全部包含再$r中,想
什么时候
输出什么时候输出,如果不准备要他的结果,那么就将前面的1换成0
‘叁’ php 通过curl获取远程数据,返回的是一个数组型的字符串,高手帮忙如何将这个数组类型的字符串变成数组。
foreach($arr as $key=>$val){
foreach($val as $k=>$v){
echo $v['kd_status'].'....';
}
}
‘肆’ php使用curl的post方法字符串和数组传值的区别
区别的话在PHP手册的curl_setopt函数中,关于CURLOPT_POSTFIELDS有如下描述:
全部数据使用HTTP协议中的"POST"操作来发送。
要发送文件,在文件名前面加上@前缀并使用完整路径。(5.5+ 建议用CURLFile)
这个参数可以通过urlencoded后的字符串类似'para1=val1¶2=val2&...'
或使用一个以字段名为键值,字段数据为值的数组。
如果value是一个数组,Content-Type头将会被设置成multipart/form-data。
因此,这两种传值方式是有所区别的。
当然,可以通过CURLOPT_HTTPHEADER指定Content-Type。可能我讲的不是很清楚很详细。你可以去后盾人平台去看看视频教学的,里面的视频教学讲的很清楚很详细。
‘伍’ php关于curl请求回来的数据转化数组后该索引有值却取不出来求各路大神解决
可以先看看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);
‘陆’ php+curl获取的表单源码,以字符串转换为数组
function sendcheck($url,$code)
{
global $logger;
$ch = curl_init();
if(!$ch)return -1; //设置适当的参数
curl_setopt($ch, CURLOPT_URL , $url);//连接
if(!curl_setopt($ch, CURLOPT_HEADER, 0)) return -2; //发送,设置curl_exec执行结果返回,成功返回获得内容,否则false
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //返回值为空
if(!curl_setopt($ch,CURLOPT_TIMEOUT ,30))return -3; //执行curl操作最大时间为 10 s
if(!curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,30))return -4 ; //curl对外连接大时间为 10 s
$result = curl_exec($ch); //访问资源;
//服务器无响应或者网络连接错误处理,重新发送请求信息,最多10次,每次 10 s 间隔
for($i =0 ; $i <= 9; $i++ ){
if(!$result){ //上一次未得到数据
$result = curl_exec($ch); //下一次的数据发送;
}else{
$logger->info("已成功通知");
break;
}
}
if(!$result){
$logger->info("通知失败");
}
curl_close($ch); //关闭curl资源
}
‘柒’ 请问PHP代码通过CURL读取到API jason格式的内容,怎么样读取特定数组中的内容保存到自己的数据库中呢
$json='{"a":1,"b":2,"c":3,"d":4,"e":5}';
$json=json_decode($json);
$a=$json->{'b'};
echo$a;//输出结果为1
把json数据拷贝出来放到文本里传上来。或者你自己转换成数组进行操作json_decode($json,true)
$json='{"a":1,"b":2,"c":3,"d":4,"e":5}';
$json=json_decode($json,true);
echo$json["b"];//输出结果为1
‘捌’ php 使用curl函数并附带参数传递,接收返回的数据并保存在变量中
$Data=array('user'=>'xiaoming');
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,'http://www.a.com/index');
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$Data);
$a=curl_exec($ch);
curl_close($ch);
print_r($a);
‘玖’ php 中curl_exec如何返回数组
返回json,转换成array就可以了。
‘拾’ php curl中CURLOPT_HTTPHEADER 这个参数的含义
php curl中CURLOPT_HTTPHEADER 这个参数的含义是:CURLOPT_HTTPHEADER 一个用来设置HTTP头字段的数组。Content-Type 表示后面的文档属于什么MIME类型。charset表示浏览器可接受的字符集。
HTTP头Servlet默认为text/plain,但通常需要显式地指定为text/html。由于经常要设置Content-Type,因此HttpServletResponse提供了一个专用的方法setContentType。
HTTP请求头的部分类型:
1、Accept:浏览器可接受的MIME类型。
2、Accept-Charset:浏览器可接受的字符集。
3、Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip。Servlet能够向支持gzip的浏览器返回经gzip编码的HTML页面。许多情形下这可以减少5到10倍的下载时间。
4、Connection:表示是否需要持久连接。如果Servlet看到这里的值为“Keep-Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显着地减少下载所需要的时间。
5、Content-Length:表示请求消息正文的长度。
6、Cookie:这是最重要的请求头信息之一。
(10)phpcurl数组扩展阅读:
PHP中的CURL函数库(部分):
1、curl_setopt_array — 为cURL传输会话批量设置选项
2、curl_setopt — 设置一个cURL传输选项
3、curl_close — 关闭一个cURL会话
4、curl__handle — 复制一个cURL句柄和它的所有选项
5、curl_errno — 返回最后一次的错误号
6、curl_error — 返回一个保护当前会话最近一次错误的字符串
7、curl_escape — 使用 URL 编码给定的字符串
在实际的使用当中,使用得最多的函数是curl_setopt — 设置一个cURL传输选项说明:bool curl_setopt ( resource $ch , int $option , mixed $value )其中,ch 由 curl_init() 返回的 cURL 句柄。option 表示的是需要设置的CURLOPT_XXX选项。
option的可选参数:
1、CURLOPT_BUFFERSIZE 每次获取的数据中读入缓存的大小,但是不保证这个值每次都会被填满。在cURL 7.10中被加入。
2、CURLOPT_CLOSEPOLICY 不是CURLCLOSEPOLICY_LEAST_RECENTLY_USED就是CURLCLOSEPOLICY_OLDEST,还存在另外三个CURLCLOSEPOLICY_,但是cURL暂时还不支持。
3、CURLOPT_CONNECTTIMEOUT 在发起连接前等待的时间,如果设置为0,则无限等待。