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

phpcurljson

发布时间: 2023-08-17 03:01:07

php如何通过Post请求发送Json数据

首先要把数据转换成json格式,再通过curl方法调用接口并传参数

代码如下:

$keyword=urlencode($_POST['keyword']);
$parameters=json_encode(array('keyWord'=>$keyword,'areaCode'=>'*'));
$post_data['appToken']="323ds7674354fds32fdsda60173";//随便写的
$post_data['parameters']=$parameters;
$url='http://serde.com/compadddvd/index';//随便写的
$ch=curl_init();
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data);//用post方法传送参数
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$response=curl_exec($ch);
curl_close($ch);

之后就返回数据即可。

Ⅱ 请问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

Ⅲ curl命令在PHP中怎么用

这是我项目中一直在用的一个方法

<?php
functioncurl($url,$params=array(),$header=array(),$timeout=180){
if(empty($url))return$url;

$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,$url);//请求url地址

curl_setopt($curl,CURLOPT_HTTPHEADER,$header);//构造IP

if(!empty($params)&&count($params)>0){
curl_setopt($curl,CURLOPT_POST,true);

//RequestPayload格式数据
if(isset($params['is_json'])&&$params['is_json']===true){
unset($params['is_json']);
$params=json_encode($params);
}else{
$params=http_build_query($params);
}
curl_setopt($curl,CURLOPT_POSTFIELDS,$params);
}

//curl_setopt($curl,CURLOPT_HEADER,true);//是否返回响应头信息
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);//是否将结果返回
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true);//是否重定向
//curl_setopt($curl,CURLOPT_USERAGENT,'Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/51.0.2704.106Safari/537.36');
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);//只信任CA颁布的证书
//curl_setopt($curl,CURLOPT_CAINFO,$cacert);//CA根证书(用来验证的网站证书是否是CA颁布)
//curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,2);//检查证书中是否设置域名,并且是否与提供的主机名匹配
//从证书中检查SSL加密算法是否存在
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($curl,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_0);
//curl_setopt($curl,CURLOPT_HTTPHEADER,array("Expect:"));
curl_setopt($curl,CURLOPT_IPRESOLVE,CURL_IPRESOLVE_V4);
curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,$timeout);//用来告诉PHP脚本在成功连接服务器前等待多久(连接成功之后就会开始缓冲输出),这个参数是为了应对目标服务器的过载,下线,或者崩溃等可能状况;
curl_setopt($curl,CURLOPT_TIMEOUT,$timeout);//用来告诉成功PHP脚本,从服务器接收缓冲完成前需要等待多长时间。如果目标是个巨大的文件,生成内容速度过慢或者链路速度过慢,这个参数就会很有用。
//自动设置Referer
curl_setopt($curl,CURLOPT_AUTOREFERER,1);
//curl_setopt($curl,CURLOPT_COOKIEJAR,"D:phpStudyWWWcjcooBE66.tmp");////写入cookie信息
//setcookie('cookie_jar',$cookie_jar);//保存cookie路径
$data=curl_exec($curl);//执行
curl_close($curl);
return$data;
}
?>

Ⅳ php通过curl发送post json给https产生502错误问题!

curl_setopt(self::$ch,CURLOPT_USERAGENT,"Mozilla/5.0(Macintosh;IntelMacOSX10_10_2)AppleWebKit/600.3.18(KHTML,likeGecko)Version/8.0.3Safari/600.3.18");

加一个这个参数模拟浏览器,看看有没有作用

有些服务器非浏览器访问就会502

热点内容
立体存储仓 发布:2025-03-17 14:32:23 浏览:850
钉钉如何缓存 发布:2025-03-17 14:28:44 浏览:187
adbandroid源码 发布:2025-03-17 14:21:54 浏览:691
编程与边城 发布:2025-03-17 14:21:49 浏览:473
step7移植到博途编译报警怎么办 发布:2025-03-17 14:09:27 浏览:49
蜗牛游戏安卓手机怎么更换账号 发布:2025-03-17 13:41:49 浏览:323
为什么人买一个苹果一个安卓 发布:2025-03-17 13:36:59 浏览:440
三星手机短信在那个文件夹 发布:2025-03-17 13:31:51 浏览:195
安卓皇帝隐藏剧情在哪里 发布:2025-03-17 13:18:53 浏览:508
新版安卓为什么不兼容 发布:2025-03-17 13:18:49 浏览:484