Jak nie siekierą, to IE

Z racji swojej pracy od czasu do czasu przyjdzie mi przetestować jakąś aplikację “webową”. Testowanie takiej aplikacji to bardzo często zabawa z parametrami, ich modyfikacja, usuwanie, wstawianie w nie fragmentu kodu. Zwykle pomocne bywają narzędzia takie jak WebScarab lub Fiddler. Czasami jednak ich wykorzystanie nie jest możliwe, WebScarab źle sobie radzi ze zintegrowanym uwierzytelnianiem, w przypadku dwustronnego SSL też nie zawsze jest dobrze...

Oczywiście, można bawić się w zmianę parametrów w samej przeglądarce, ale nie jest to specjalnie wygodne. Dlatego wpadłem na genialny pomysł... Internet Explorer może nie jest najlepszą przeglądarką pod słońcem, ale dostępny jest jako obiekt COM, pozwala bardzo sympatycznie się automatyzować. Przykładowy skrypt w Pythonie wygląda następująco:

from win32com.client import Dispatch from urllib import urlencode

ie = Dispatch(“InternetExplorer.Application”) ie.visible = True;

url = None params_str = None

while True: if url: urltmp = url url = rawinput(“Podaj adres strony [%25s]: “%25urltmp) if url == “”: url = urltmp else: url = rawinput(“Podaj adres strony: “) if url == “exit”: break params = {} if paramsstr: paramsstrtmp = paramsstr paramsstr = rawinput(“Nazwy parametrow [%25s]: “%25paramsstrtmp) if paramsstr == “”: paramsstr = paramsstrtmp else: paramsstr = rawinput(“Nazwy parametrow (oddzielone spacja): “) if paramsstr == “exit”: break paramsnames = paramsstr.split() print “10 for paramname in paramsnames:
value = rawinput(“Wartosc %25s: “%25paramname)
params[param_name] = value print “10

postdata = urlencode(params)

print “Sprawdzam adres: %25s”%25url print “Parametry: %25s”%25postdata

ie.Navigate(url,2,“”,buffer(postdata)) ie.Quit()

Miałem też kilka bardziej rozbudowanych skryptów tego typu, ale na razie nie mogę ich nigdzie wygrzebać. Być może powyższy skrypt wstawię w ładniej sformatowany sposób, gdy pobawię się jakimś narzędziem typu python2html, chwilowo mi się nie chce :)

Oryginał tego wpisu dostępny jest pod adresem Jak nie siekierą, to IE

Autor: Paweł Goleń