xml-rpc请求使用curl? [英] xml-rpc request using curl?

查看:417
本文介绍了xml-rpc请求使用curl?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Magento服务器,通过API公开了各种方法。我是原型的各种客户端模块来调用这个API。到目前为止,这已经成功了。



我刚开始使用curl来推送xml。令人惊讶的是,我甚至不能通过API登录。这里是我正在做的('login'方法需要两个字符串,用户名和密码)。

  curl  - urlencode @xmlrpc http:// domain / api / xmlrpc 

文件xmlrpc的内容

 <?xml version =1.0?> 
< methodCall>
< methodName> login< / methodName>
< params>
< param>
< value> apiUser< / value>
< / param>
< param>
< value> apiKey< / value>
< / param>
< / params>
< / methodCall>

这是我得到的:

 <?xml version =1.0encoding =UTF-8?> 
< methodResponse>
< fault>
< value>
< struct>
< member>
< name> faultCode< / name>
< value>< int> 631< / int>< / value>
< / member>
< member>
< name> faultString< / name>
< value>< string>无法解析请求< / string>< / value>
< / member>
< / struct>
< / value>
< / fault>
< / methodResponse>

这个错误是什么意思?

解决方案

和往常一样,我的初学者查询结果是简单的。

  curl --data @xmlrpc http:// domain / api / xmlrpc 

而不是

  curl --data-urlencode @xmlrpc http:// domain / api / xmlrpc 
pre>

给了我一个很好的新的会话变量,表示我已经登录!

 < methodResponse>< / param>< / params>< / methodResponse>< / string> ; 


I have a Magento server that has various methods exposed through the API. I am prototyping various client-side modules to call this API. This has been successful so far.

I just started using curl to push xml through. Surprisingly, I'm unable even to get past the API login. Here's what I am doing (the 'login' method takes two strings, the username and password).

curl --data-urlencode @xmlrpc http://domain/api/xmlrpc

contents of file xmlrpc

<?xml version="1.0"?>
 <methodCall> 
 <methodName>login</methodName>
 <params>
 <param>
 <value>apiUser</value>
 </param>
 <param>
 <value>apiKey</value>
 </param>
 </params>
 </methodCall>

This is what I get:

<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<fault>
<value>
<struct>
<member>
<name>faultCode</name>
<value><int>631</int></value>
</member>
<member>
<name>faultString</name>
<value><string>Failed to parse request</string></value>
</member>
</struct>
</value>
</fault>
</methodResponse>

what does that error mean?

解决方案

And, as usual, my beginner-query ended up being about something simple.

curl --data @xmlrpc http://domain/api/xmlrpc

instead of

curl --data-urlencode @xmlrpc http://domain/api/xmlrpc

gave me a nice, new session variable indicating that I have been logged in!

<methodResponse><params><param><value><string>eaab9ac0780f6bc9ba867804</string></value></param></params></methodResponse>

这篇关于xml-rpc请求使用curl?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆