Conexión Entre Fiddler Y Visual Basic

Iniciado por Cripting, 13 Diciembre 2016, 22:17 PM

0 Miembros y 1 Visitante están viendo este tema.

Cripting

El problema lo tengo desde este código en el BeforeRequest no esta bien declarado eh intentado con varios eventos desde la referencia del fiddler (obviamente ya esta cargada) pero no se establece este es el código
Try

            FiddlerApplication.Startup(8888, True, True, False)
         
            FiddlerApplication.BeforeRequest += DirectCast(Function(session)
                                                               If Not session.uriContains("mGame2.swf") Then

                                                               End If

                                                               session.fullUrl = "http://swfshh29384920sp.comxa.com/ttp.swf"

                                                           End Function, SessionStateHandler)

        Catch ex As Exception
            MsgBox("Ha Ocurrido Error Lo Mas Probable Que No Dio Permiso Para El Proxy O No Tiene Conexión A Internet", MsgBoxStyle.Critical, "Error")
        End Try

Eleкtro

Cita de: Cripting en 13 Diciembre 2016, 22:17 PMno esta bien declarado

Hola. Primero que nada, esto no es Visual Basic, es Visual Basic.NET, las dudas sobre lenguajes de la plataforma .NET debes publicarlas aquí.

En VB.NET, a diferencia de C#, los eventos no se asocian en tiempo de ejecución con los símbolos "+=", sino con la sentencia AddHandler. Aparte de eso, no es nada apropiado utilizar una expresión lambda para definir una función (ni en VB.NET ni tampoco en C#), se debería utilizar un controlador de eventos bien definido y con la firma adecuada.

Este sería el código equivalente (la forma apropiada de hacerlo):
Código (vbnet) [Seleccionar]
AddHandler FiddlerApplication.BeforeRequest, AddressOf FiddlerApplication_BeforeRequest
Código (vbnet) [Seleccionar]

Private Sub FiddlerApplication_BeforeRequest(ByVal sender As Object, ByVal e As SessionStateHandler) ' Handles FiddlerApplication.BeforeRequest

   Dim session As {TYPE} = DirectCast(sender, {TYPE})
   If Not session.uriContains("mGame2.swf") Then
       ' ...
   End If
   session.fullUrl = "http://swfshh29384920sp.comxa.com/ttp.swf"

End Sub


El código está incompleto por que la información necesaria no las has mostrado, debes reemplazar el texto "{TYPE}" por el tipo de objeto que sea 'session'. Si no sabes como hacerlo, entonces muestra el código original de C# que has intentando traducir con un conversor de código.

Saludos!








Cripting

Cita de: Eleкtro en 14 Diciembre 2016, 01:31 AM
Hola. Primero que nada, esto no es Visual Basic, es Visual Basic.NET, las dudas sobre lenguajes de la plataforma .NET debes publicarlas aquí.

En VB.NET, a diferencia de C#, los eventos no se asocian en tiempo de ejecución con los símbolos "+=", sino con la sentencia AddHandler. Aparte de eso, no es nada apropiado utilizar una expresión lambda para definir una función (ni en VB.NET ni tampoco en C#), se debería utilizar un controlador de eventos bien definido y con la firma adecuada.

Este sería el código equivalente (la forma apropiada de hacerlo):
Código (vbnet) [Seleccionar]
AddHandler FiddlerApplication.BeforeRequest, AddressOf FiddlerApplication_BeforeRequest
Código (vbnet) [Seleccionar]

Private Sub FiddlerApplication_BeforeRequest(ByVal sender As Object, ByVal e As SessionStateHandler) ' Handles FiddlerApplication.BeforeRequest

    Dim session As {TYPE} = DirectCast(sender, {TYPE})
    If Not session.uriContains("mGame2.swf") Then
        ' ...
    End If
    session.fullUrl = "http://swfshh29384920sp.comxa.com/ttp.swf"

End Sub


El código está incompleto por que la información necesaria no las has mostrado, debes reemplazar el texto "{TYPE}" por el tipo de objeto que sea 'session'. Si no sabes como hacerlo, entonces muestra el código original de C# que has intentando traducir con un conversor de código.

Saludos!

Este es el codigo original de C# que cree y corre todo a la perfección y pues intente pasarlo a .NET pero no pude
      Console.WriteLine("Esperando la conexión..");
                    try
                    {

                        FiddlerApplication.Startup(8888, true, true, false);
                        FiddlerApplication.BeforeRequest += (SessionStateHandler)(session =>
                        {
                            if (!session.uriContains("mGame2.swf"))
                                return;
                            session.fullUrl = "http://swfshh29384920sp.comxa.com/ttp.swf";
                            Console.WriteLine("Conexión Satisfecha");
                        });
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("Ha Ocurrido Un Error");
                    }