2014-10-05 53 views
0

现在,我正在学习使用VS2010编程VB, 并尝试为Fiddler制作扩展DLL。VB.NET中的提琴手扩展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

我敢打赌,这是错误的文件夹 – 2014-10-05 21:52:02

回答

0

我不得不加上这句话......('·ω·`)

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

而且,,,,,其实,我写的代码已经在 oSession条件的误译判断。

有人请不要复制&使用我的代码,因为它代表。

非常感谢。