2

私は新しいサービスの非常に単純な 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>
4

3 に答える 3

3

Javascript またはサーバー コードのいずれかが含まれていないわけではありません。「enc-type」属性は、フォームデータがサーバーに送信される形式を指定しますが、残念ながら「xml-rpc」は受け入れられる形式のリストにありません:)

于 2009-04-23T18:11:39.807 に答える
2

いいえ、プレーンな HTML からはできません。フォーム データを送信するための標準エンコーディングapplication/x-www-form-urlencodedは、 とmultipart/form-data.

XMLHTTPRequest を使用して JavaScript からこれを行うことができますが、HTML の送信元と同じドメインの API に対してのみです。Google で簡単に検索したところ、この AJAX XML-RPC clientが見つかりましたが、使用したことがないため保証できません。

于 2009-04-23T18:12:55.543 に答える
0

サーバーが実際にenctypeを実施しているかどうかに依存する可能性があります

たとえば、http://pentestmonkey.net/blog/csrf-xml-post-requestに示されている手法を使用すると、XML POST データのクロスサイト ポストを実行できます。

于 2010-07-20T15:28:45.660 に答える