Ⅰ 如何用curl post 一段包含中文json的文本到服务器
一般中文json_encode之后会变成uxxxx的格式了,只要使用正规的json_encode处理,
不需要考虑中文问题。
至于如何post数据到服务器,需要设定header,参考代码如下:
<?php
#json数据
$url='http://test.com/curl/testPostJsonData.php';
$data='{"a":"b"}';
$length=strlen($data);
$header=array(
'Content-Length:'.$length,//不是必需的
'Content-Type:text/json',
);
$ch=curl_init($url);//初始化curl
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
$content=curl_exec($ch);//执行并存储结果
curl_close($ch);
echo$content;
服务端需要使用$data=file_get_contents('php://input');获取数据。
更多PHPcURL内容请参考我的博客《PHPcURL实现模拟登录与采集使用方法详解教程》
Ⅱ 如何用curl post 一段包含中文json的文本到服务器
我的博客《PHP cURL实现模拟登录与采集使用方法详解》第十一点发送与获取json数据对此类问题做了详细的讲解,下面是代码示例:
<?php
#json数据
$url='http://test.com/curl/testPostJsonData.php';
$data='{"a":"b"}';
$length=strlen($data);
$header=array(
'Content-Length:'.$length,//不是必需的
'Content-Type:text/json',
);
$ch=curl_init($url);//初始化curl
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
$content=curl_exec($ch);//执行并存储结果
curl_close($ch);
echo$content;
# 分割数据
$data=[
'name:Zjmainstay',
'website:http://www.zjmainstay.cn',
];
$data=implode(" ",$data);
#&分割数据
$data='name:Zjmainstay&website:http://www.zjmainstay.cn';
更多详情,包括服务端如何接收此类数据,请查看博客:http://www.zjmainstay.cn/php-curl
Ⅲ postjson和getjson的区别
get和post顾名思义,两种提交方式,getjson则是向后台定了一个要求,返回的数据必须是json,否则回调函数里的XHR对象为空,$get,$post,$getjson三个方法最后调用的都是$ajax,只不过jquery对这三个方法进行了简单的封装。
Ⅳ asp 怎么接收post过来的json数据,解析出来后写入数据库
<scriptlanguage="jscript"runat="server">
Array.prototype.get=function(x){returnthis[x];};
functionparseJSON(strJSON){returneval("("+strJSON+")");}
</script>
<%
Dimjson,obj
json="{a:""aaa"",b:{name:""bb"",value:""text""},c:[""item0"",""item1"",""item2""]}"
Setobj=parseJSON(json)
Response.Writeobj.a&"<br/>"'直接获取
Response.Writeobj.b.name&"<br/>"'获取指定key
Response.Writeobj.c.length&"<br/>"'获取条数
Response.Writeobj.c.get(0)&"<br/>"'C的第一条
Response.Writeobj.c&"<br/>"'获取全部
Setobj=Nothing
%>
然后就是对应的更新到数据库就行了。
建议让JSON,整条的保存在数据库,取出来的时候这样解释就行了。。。