2014-10-05 3 views
0

VB에서 VB2010 프로그래밍을 공부하고 있습니다. 및 Fiddler 용 확장 DLL을 만들려고합니다.VB.NET의 Fiddler Extension DLL이 작동하지 않습니다.

먼저 "AustralianImages/ImageFlipper"에 대한 샘플 코드가 있는데 그리고 VB.NET에서 다시 작성했습니다.

건물 DLL 파일이 성공적으로 완료되었지만 (어렵더라도) "Fiddler2 \ Scripts"폴더로 복사했지만 Fiddler가 로드하지 않는 것으로 보입니다. 문서 폴더 사용 또는 .net Framework 버전을 2.0으로 변경하면 작동하지 않습니다.

누군가 단서가 있습니까? 감사.

Public Class MyFlip Implements IAutoTamper 

    Private bEnabled As Boolean 
    Dim oMenuItem As MenuItem = New MenuItem("M&y Flip") 

    #Region "IAutoTamper Members" 
    Public Sub OnBeforeReturningError(ByVal oSession As Session) Implements IAutoTamper.OnBeforeReturningError 
    End Sub 
    Public Sub AutoTamperRequestAfter(ByVal oSession As Session) Implements IAutoTamper.AutoTamperRequestAfter 
    End Sub 
    Public Sub AutoTamperRequestBefore(ByVal oSession As Session) Implements IAutoTamper.AutoTamperRequestBefore 
    End Sub 
    Public Sub AutoTamperResponseAfter(ByVal oSession As Session) Implements IAutoTamper.AutoTamperResponseAfter 
    End Sub 

    Public Sub AutoTamperResponseBefore(ByVal oSession As Session) Implements IAutoTamper.AutoTamperResponseBefore 

     If (bEnabled = False) Then Exit Sub 

     If oSession.ToString() <> String.Empty _ 
      And oSession.responseCode = 200 _ 
      And oSession.oResponse.ToString() <> String.Empty _ 
      And oSession.oResponse.headers.ToString() & oSession.oResponse.headers.ExistsAndContains("Content-Type", "image/gif").ToString() & _ 
       oSession.oResponse.headers.ExistsAndContains("Content-Type", "image/png").ToString() & _ 
       oSession.oResponse.headers.ExistsAndContains("Content-Type", "image/jp").ToString() <> String.Empty Then 
      Try 
       oSession.utilDecodeResponse() 
       Dim oStream = New MemoryStream(oSession.responseBodyBytes) 
       Dim oBMP = New Bitmap(oStream) 
       oBMP.RotateFlip(RotateFlipType.Rotate180FlipNone) 

       Dim oNewStream = New MemoryStream() 
       oBMP.Save(oNewStream, System.Drawing.Imaging.ImageFormat.Png) 
       oSession.responseBodyBytes = oNewStream.GetBuffer() 
       oSession.oResponse.headers("Content-Length") = oSession.responseBodyBytes.Length.ToString() 
       oSession.oResponse.headers("Content-Type") = "image/png" 
       oSession.oResponse.headers("Cache-Control") = "no-cache" 
       oStream.Dispose() 
       oNewStream.Dispose() 
      Catch eX As Exception 
       System.Diagnostics.Trace.WriteLine(eX.ToString(), "ImageFlipper Failed") 
      End Try 
     End If 
    End Sub 
    #End Region 

    #Region "IFiddlerExtension_Members" 
    Public Sub OnBeforeUnload() Implements IFiddlerExtension.OnBeforeUnload 
     bEnabled = False 
     oMenuItem.Dispose() 
    End Sub 

    Public Sub OnLoad() Implements IFiddlerExtension.OnLoad 
     FiddlerApplication.Log.LogString("MyFlip OnLoad Start.") 
     'oMenuItem = New MenuItem("M&y Flip") 
     AddHandler oMenuItem.Click, AddressOf oMenuItem_Click 

     FiddlerApplication.UI.mnuTools.MenuItems.Add(oMenuItem) 
     MsgBox("vbOK!!") 
     FiddlerApplication.Log.LogString("BB OnLoad End.") 
    End Sub 
    Sub oMenuItem_Click(ByVal sender As System.Object, _ 
        ByVal e As System.EventArgs) 
     oMenuItem.Checked = Not (oMenuItem.Checked) 
     bEnabled = oMenuItem.Checked 
    End Sub 
    #End Region 
    End Class 
+0

그게 잘못된 폴더라고 생각합니다. –

답변

0

나는 사실, 내가 쓴 코드가 oSession 상태에서 오역이 있습니다 ,,,,, (`· ω · ') ...

<Assembly: Fiddler.RequiredVersion("2.4.6.0")> 

를이 문장을 추가했다 그리고 심판.

누군가 제발 내 코드를 그대로 사용하십시오. &

고마워요.

관련 문제