可以从html表单生成XML-RPC请求吗?

时间:2009-04-23 18:02:47

标签: html forms xml-rpc

我正在玩一个新服务的非常简单的API,我只是好奇是否可以直接从html表单发送xml-rpc请求。 api请求示例如下:

<?xml version="1.0"?>
<methodCall>
<methodName>send</methodName>
    <params>
        <param><value><string>YOUR_API_KEY</string></value></param>
        <param><value><string>msg@mycompany.com</string></value></param>
        <param><value><string>5551231234</string></value></param>
        <param><value><string>Test Message from PENNY SMS</string></value></param>
    </params>
</methodCall>

我当前的表单迭代是这样的:

    <form method="POST" enctype="text/xml" action="http://api.pennysms.com/xmlrpc">

            <input type="hidden" name="api_key" value="MYAPIKEY"/>

            <label for="from">From</label>
            <input type="input" name="from" value=""/>

            <label for="phone">Phone</label>
            <input type="input" name="phone" value=""/>

            <label for="text">Text message</label>
            <input type="input" name="text" value="">

            <input type="submit" value="Send"/>

    </form>

3 个答案:

答案 0 :(得分:3)

不涉及Javascript或服务器代码。 “enc-type”属性指定表单数据发送到服务器的格式,不幸的是“xml-rpc”不在可接受格式的列表中:)

答案 1 :(得分:2)

不,这不可能来自纯HTML。提交表单数据的唯一standard encodingsapplication/x-www-form-urlencodedmultipart/form-data

您可以使用XMLHTTPRequest从JavaScript执行此操作,但只能使用与HTML相同的域上的API。快速谷歌搜索后,我找到this AJAX XML-RPC client,虽然我从未使用它,所以我不能保证它。

答案 2 :(得分:0)

这可能取决于服务器是否实际执行了enctype

例如,使用此处显示的技术http://pentestmonkey.net/blog/csrf-xml-post-request,您可以执行XML POST数据的跨站点帖子。