2010-08-16 18 views

risposta

5

Hai mai pensato di utilizzare Fiddler? Hanno anche un API che potresti essere in grado di utilizzare per questo.

Modifica

Si può provare a utilizzare il Navigated event o LoadCompleted event per ottenere informazioni di risposta. Potresti essere in grado di utilizzare Navigating event per informazioni sulla richiesta. Questi eventi potrebbero verificarsi con richieste asincrone, ma non ne sono sicuro.

L'Edit colpisce ancora

Beh ho fatto alcuni test utilizzando gli eventi di cui sopra, e ho paura ho niente. Gli eventi non mi davano nulla che potessi usare. Anche se hanno avuto accesso a webresponse e webrequest, nei miei test non sono mai stati nulla/nulla.

Immagino che la triste realtà sia che il controllo del browser Web non è stato progettato per essere utilizzato nel modo desiderato. Serve solo a fornire pagine web/dati e non ti fornisce l'accesso per esaminare i dati. Penso che l'abbiano fatto come C.Y.A. misura per impedire a qualcuno di creare un browser malware/antispyware.

La tua migliore scommessa sarà accoppiare il browser web con il violinista (o qualche altra libreria "sniffing").

+0

Ero un po 'sperando che ci fosse qualche evento ho potuto cogliere nel controllo del browser web. –

+0

riguardo al risultato "The Edit Strikes Back", stavo per commentare dicendo la stessa cosa. Cosa ne pensi dell'utilizzo della classe WebClient per effettuare le richieste utilizzando quindi il controllo del browser per visualizzare i risultati. Non ho avuto molto tempo per sperimentare, ma penso che sarà il mio prossimo passo. –

+0

Ciò è fattibile, usando NavigateToStream (sul browser) con OpenRead (sul webclient), ma non sono sicuro su quali eventi utilizzare. Sembra qualcosa di divertente da provare. –

4

Un altro modo per farlo è implementare il proprio gestore Asynchronous Pluggable Protocol, ma non è un compito banale. Fondamentalmente, le APP sono il meccanismo utilizzato da Internet Explorer per scaricare i dati da un URL, tramite URLMON. È possibile implementare la propria APP che sostituisce il gestore predefinito utilizzato da URLMON, che consente di controllare tutte le richieste e le risposte.

Invece di sostituire il gestore predefinito è possibile implementare anche un'APP, che lo avvolge. Un esempio comunemente riportato è lo PassThroughAPP creato da Igor Tandetnik, che mostra come qualcosa di simile potrebbe essere fatto. È inoltre possibile trovare un'implementazione C# in questo progetto di codice article. Credo che l'interfaccia che ti interesserebbe di più sia IHttpNegotiate e il metodo OnResponse, che consente a un cliente di esaminare le intestazioni di richiesta e risposta.

Ci sono alcuni problemi con PassThroughApp, che sono dettagliati, insieme a una possibile soluzione here. Di seguito sono elencate alcune altre risorse.

http://support.microsoft.com/?id=kb;en-us;303740 http://www.codeproject.com/KB/aspnet/AspxProtocol.aspx

Problemi correlati