Czy można wysyłać dane na serwer za pomocą testu POST?firebug: jak wysłać dane POST w konsoli firebug?
Ie) Chcę wysłać dane POST do adresu URL:
http://www.a.com/b?cmd=tt
Z danych POST:
a=1
b=2
Czy to wykonalne i jak?
Czy można wysyłać dane na serwer za pomocą testu POST?firebug: jak wysłać dane POST w konsoli firebug?
Ie) Chcę wysłać dane POST do adresu URL:
http://www.a.com/b?cmd=tt
Z danych POST:
a=1
b=2
Czy to wykonalne i jak?
Cytat Mike Cooper na podobnym pytaniem:
O ile mi wiadomo, Firebug nie może tego zrobić. Istnieje jednak bardzo przydatne rozszerzenie przeglądarki Firefox, w duchu Firebug, o nazwie Tamper Data. To powinno być w stanie zrobić, co chcesz.
Umożliwia monitorowanie każdego żądania zgłoszonego przez przeglądarkę i można włączyć opcję, która pozwala przeglądać i edytować każde żądanie przed wysłaniem.
Zobacz inne odpowiedzi u źródła: How do I POST to a web page using Firebug?
Zobacz także: Using Firebug to send form data
Powyższe działa, jeśli po prostu chcesz zmodyfikować żądań HTTP, ale faktycznie tworzyć żądań HTTP, istnieje Firefox rozszerzenie o nazwie Poster, które ma następujący opis:
Narzędzie programistyczne do interakcji z usługami sieciowymi i innymi zasobami internetowymi, które umożliwia tworzenie żądań HTTP, ustawianie treści obiektu i typu zawartości. To pozwala na interakcję z usług internetowych i sprawdzić wyniki ...
W rzeczywistości, można teraz (od Firefoksa 3.5) zrobić czystą XHR post z Firebug, do każdej domeny, podobnie jak w czystym JavaScript na stronę, z zastrzeżeniem tych samych ograniczeń.
Kod jest nieco przydługi i nie przydatny w sumie jednak, jeśli chcesz go używać często (jeśli nie przechowywać go i skopiować i wkleić za każdym razem)
wkleić do konsoli (to otworzyć Edytor komend automatycznie, jak to> 1 linia)
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");
Pamiętaj, że na stronie serwera, należy enable CORS, aby zobaczyć odpowiedź w Firebug (w przeciwnym razie wniosek zostanie wysłany, ale nie będzie widać odpowiedź w Firebug; można to było zobaczyć w Fiddler); jeśli otworzyłeś Firebuga, gdy jesteś na stronie http://foo/somepage
, ten adres URL zostanie wysłany przez XHR w polu nagłówka HTTP referrer, a ta domena musi mieć możliwość odbierania odpowiedzi XHR przez nagłówek Access-Control-Allow-Origin
, który możesz ustawić w konfiguracji serwera, lub bezpośrednio na stronie.
Przykład w 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";
?>
Następnie można użyć kartę Firebug za Net
aby zbadać reakcję (a także w zakładce Console
jeśli masz Console > RIGHT CLICK > Show XMLHttpRequest
opcja włączona).
Można po prostu zrobić z inline JavaScript przycisk: https://stackoverflow.com/a/38643171/2377343
Użyj [encodeURIComponent] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/encodeURIComponent), jeśli chcesz używać znaków jak "&" w zmiennych POSTed. –