Можно ли сделать запрос XML-RPC из HTML-формы? - PullRequest
1 голос
/ 23 апреля 2009

Я играю с очень простым API нового сервиса, и мне просто любопытно, можно ли отправить запрос xml-rpc прямо из html-формы. Пример запроса 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 ]

3 голосов
/ 23 апреля 2009

Не без участия Javascript или кода сервера. Атрибут «enc-type» указывает формат, в котором данные формы отправляются на сервер, и, к сожалению, «xml-rpc» отсутствует в списке принятых форматов:)

2 голосов
/ 23 апреля 2009

Нет, это невозможно из простого HTML. Единственными стандартными кодировками для отправки данных формы являются application/x-www-form-urlencoded и multipart/form-data.

Вы можете сделать это из JavaScript, используя XMLHTTPRequest, но только для API в том же домене, откуда пришел HTML. После быстрого поиска в Google я нашел этого клиента AJAX XML-RPC , хотя я никогда не использовал его, поэтому не могу ручаться за него.

0 голосов
/ 20 июля 2010

Это может зависеть от того, действительно ли сервер применяет энктип

Например, используя методику, показанную здесь http://pentestmonkey.net/blog/csrf-xml-post-request, вы можете делать межсайтовые публикации данных XML POST.

...