求助 怎么接收sns服务器返回的xml数据

2011-07-04 09:02:18 +08:00
 lintoy
在submit.html表单提交请求到sns服务器
<form name="form1" method="post" action="http://api.xiaonei.com/restserver.do">
<input name="api_key" type="hidden" value="22b92c5a5d1a4b02b695bd7851ac6111">
<input name="method" type="hidden" value="xiaonei.pay.regOrder">
<input name="v" type="hidden" value="1.0">
<input name="order_id" type="hidden" value="528695">
<input name="amount" type="hidden" value="20">
<input name="" type="submit" value="添加">
</form>

返回一些xml数据
<?xml version="1.0" encoding="UTF-8" ?>
- <error_response>
<error_code>452</error_code>
<error_msg>Session key 无效.可能传入的sessionKey格式出现错误</error_msg>
- <request_args>
- <arg>
<key>method</key>
<value>xiaonei.pay.regOrder</value>
</arg>
- <arg>
<key>order_id</key>
<value>528695</value>
</arg>
</request_args>
</error_response>
.............................
怎么用变量去接受这些数据

问了一些朋友,有人建议下面的方法。先把表单提交到xxxx.php,xxxx.php负责向http://api.xiaonei.com/restserver.do传递参数,
然后获取返回的xml串,用simplexml解析,处理.


不知道XXXX.PHP当中的过程要怎么写。
5280 次点击
所在节点    问与答
4 条回复
lyoe
2011-07-04 11:22:44 +08:00
js提交表单,js处理结果
manhere
2011-07-04 11:34:49 +08:00
curl或者socket把请求POST过去,获取返回的内容,至于xml解析就有很多方法了。
lintoy
2011-07-04 12:17:28 +08:00
@manhere xxxx.php文件当中这样写



<?php

$ch = curl_init("http://api.xiaonei.com/restserver.do?api_key=$_POST["api_key"]&method=$_POST["method"]&v=$_POST["v"]");

curl_exec($ch);

curl_close($ch);

?>
不行,不知道怎么回事下面


<?php

$ch = curl_init("http://api.xiaonei.com/restserver.do?api_key=22b92c5a5d1a4b02b695bd7851ac6111&method=xiaonei.pay.regOrder&v=1.0");

curl_exec($ch);

curl_close($ch);

?>

这样写的可发送出去。也可以显示内容,但是有个问题就是表单提交过来的内容就显的无用了。
Sunyanzi
2011-07-04 20:17:41 +08:00
<?php
$ch = curl_init();

curl_setopt_array( $ch, array(
CURLOPT_URL => 'http://api.xiaonei.com/restserver.do',
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => array(
'api_key' => '22b92c5a5d1a4b02b695bd7851ac6111',
'method' => 'xiaonei.pay.regOrder',
'v' => '1.0'
),
CURLOPT_RETURNTRANSFER => true,
) );

print_r( simplexml_load_string( curl_exec( $ch ) ) );

curl_close( $ch );

/*
@see http://php.net/curl
@see http://php.net/simpleXML
*/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/15301

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX