2012-07-21 29 views

回答

8

報價上一個類似的問題:

據我所知,螢火蟲不能做到這一點。不過,本着Firebug的精神,有一個非常有用的Firefox擴展,名爲Tamper Data。這應該能夠做到你想要的。

它允許您監視瀏覽器發出的每個請求,並且可以打開一個選項,允許您在發送之前查看和編輯每個請求。

見其他答案的來源: How do I POST to a web page using Firebug?
另見:Using Firebug to send form data


上述工作,如果你只是想修改HTTP請求,但實際創建的HTTP請求,有一個Firefox擴展名爲Poster,具有以下說明:

一個開發人員工具,用於交互使用網絡服務和其他網絡資源可讓您發出HTTP請求,設置實體正文和內容類型。這使您可以與Web服務交互,檢查結果...

12

事實上,你可以現在(因爲火狐3.5)使從Firebug的純XHR POST,任何領域,你就像在純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"); 

請記住,在服務器端,你必須enable CORS,看到螢火蟲(否則響應,請求將被髮送,但你不會看到螢火蟲的反應;儘管如此,你可以在Fiddler看到它);如果您在頁面http://foo/somepage上打開了Firebug,則該URL將由XHR在HTTP引用標頭字段中發送,並且必須允許該域通過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選項)。

+1

使用[encodeURIComponent方法(https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/encodeURIComponent)如果你想使用的字符像在POST變量中的'&'。 – 2012-07-22 23:08:15