8

POST を使用してサーバーにデータを送信することは可能ですか?

すなわち) POST データを URL に送信したい:

http://www.a.com/b?cmd=tt

POST データの場合:

a=1
b=2

それは実行可能ですか?

4

3 に答える 3

12

実際、(Firefox 3.5 以降) 純粋なXHR POST を Firebug から任意のドメインに作成できるようになりました。ページ上の純粋な JavaScript のように、同じ制限が適用されます。

コードは少し長く、頻繁に使用する場合はまったく便利ではありません (保存して毎回コピーして貼り付けない限り)。

コンソールに貼り付けます (1 行を超えるため、コマンド エディターが自動的に開きます)。

var xhr = new XMLHttpRequest();
xhr.open("POST", "http://test/xhrtest.php?w=www");
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send("a=aaa&b=bbb");

サーバー側では、CORSを有効にして Firebug で応答を確認する必要があることに注意してください (そうしないと、要求は送信されますが、Firebug で応答が表示されません。ただし、Fiddlerでは表示できます)。ページにいる間に Firebug を開いた場合http://foo/somepage、その URL は HTTP リファラー ヘッダー フィールドで XHR によって送信され、そのドメインはAccess-Control-Allow-Origin、サーバー構成で設定するか、直接ヘッダーを介して XHR 応答を受信できるようにする必要があります。ページで。

PHP での例:

<?php
header('Access-Control-Allow-Origin: *');
//you can adjust it more fine-grained, perhaps in an 'if'
//header('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN']);
//header('Access-Control-Allow-Origin: http://foo');

echo $_POST['a'] . "\r\n";
echo $_POST['b'] . "\r\n";
echo $_GET['w'] . "\r\n";
?>

次に、Firebug のNetタブを使用して応答を検査できます (オプションが有効になっConsoleている場合はタブでもConsole > RIGHT CLICK > Show XMLHttpRequest)。

于 2012-07-22T22:56:47.293 に答える
8

同様の質問に関するマイク・クーパーからの引用:

私の知る限り、Firebug はこれを行うことができません。ただし、 Tamper Dataと呼ばれる、Firebug の精神に基づいた非常に便利な Firefox 拡張機能があります。これで、やりたいことができるはずです。

これにより、ブラウザによって行われた各リクエストを監視でき、送信前にすべてのリクエストを確認および編集できるオプションをオンにすることができます。

ソースで他の回答を参照してください: How do I POST to a web page using Firebug?
参照: Firebug を使用してフォーム データを送信する


上記は単に HTTP リクエストを変更したいが、実際に HTTP リクエストを作成したい場合に機能します。Poster と呼ばれる Firefox 拡張機能あり、次の説明があります。

Web サービスやその他の Web リソースとやり取りするための開発者ツールで、HTTP リクエストの作成、エンティティ ボディの設定、コンテンツ タイプの設定が可能です。これにより、Web サービスと対話し、結果を調べることができます...

于 2012-07-21T05:26:11.980 に答える
0

プラグインは必要ありません。

インラインJavaScriptボタンで簡単に実行できます:https://stackoverflow.com/a/38643171/2377343

于 2016-07-28T18:04:44.657 に答える