VB.NET中的Fiddler扩展DLL可以';行不通

VB.NET中的Fiddler扩展DLL可以';行不通,vb.net,dll,Vb.net,Dll,现在,我正在学习用VS2010为VB编程, 并尝试为Fiddler制作扩展DLL 首先,我有一个“AustralianImages/ImageFlipper”的示例代码, 并在VB.NET中重写 构建DLL文件已成功完成(尽管很难) 并将其复制到“Fiddler 2\Scripts”文件夹中,但Fiddler似乎没有这样做 加载它。 使用文档文件夹或将.net Framework版本更改为2.0也不起作用 有人有线索吗?谢谢 Public Class MyFlip Implements

现在,我正在学习用VS2010为VB编程, 并尝试为Fiddler制作扩展DLL

首先,我有一个“AustralianImages/ImageFlipper”的示例代码, 并在VB.NET中重写

构建DLL文件已成功完成(尽管很难) 并将其复制到“Fiddler 2\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
公共类MyFlip实现IAutompender
Private可设置为Boolean
Dim MenuItem As MenuItem=新MenuItem(“M&y翻转”)
#区域“IAutoTamper成员”
Public Sub OnBeforeReturningError(ByVal oSession As Session)实现iautomoper.OnBeforeReturningError
端接头
Public Sub AutoTamperRequestAfter(ByVal OSESION As Session)实现IAutompender.AutoTamperRequestAfter
端接头
Public Sub AutoTamperRequestBefore(ByVal oSession As Session)实现IAutompender.AutoTamperRequestBefore
端接头
Public Sub AutoTamperResponseAfter(ByVal oSession As Session)实现IAutompender.AutoTamperResponseAfter
端接头
Public Sub AutoTamperResponseBefore(ByVal oSession As Session)实现IAutoTamper.AutoTamperResponseBefore
如果(bEnabled=False),则退出Sub
如果oSession.ToString()字符串为.Empty_
和oSession.responseCode=200_
和oSession.oResponse.ToString()字符串。空_
以及oSession.oResponse.headers.ToString()&oSession.oResponse.headers.ExistsAndContains(“内容类型”、“图像/gif”).ToString()&_
oSession.oResponse.headers.ExistsAndContains(“内容类型”、“图像/png”).ToString()_
oSession.oResponse.headers.ExistsAndContains(“内容类型”,“图像/jp”).ToString()字符串。然后为空
尝试
oSession.utilDecodeResponse()
Dim oStream=新内存流(oSession.responseBytes)
Dim oBMP=新位图(oStream)
oBMP.RotateFlip(RotateFlipType.Rotate180FlipNone)
Dim oNewStream=新内存流()
保存(oNewStream,System.Drawing.Imaging.ImageFormat.Png)
oSession.responseBodyBytes=oNewStream.GetBuffer()
oSession.oResponse.headers(“内容长度”)=oSession.responseBodyBytes.Length.ToString()
oSession.oResponse.headers(“内容类型”)=“图像/png”
oSession.oResponse.headers(“缓存控制”)=“无缓存”
oStream.Dispose()
oNewStream.Dispose()
特例
System.Diagnostics.Trace.WriteLine(例如ToString(),“ImageFlipper失败”)
结束尝试
如果结束
端接头
#末端区域
#区域“IFIDlerExtension_成员”
Public子OnBeforeUnload()实现IFIDlerExtension.OnBeforeUnload
b启用=错误
处置
端接头
Public Sub OnLoad()实现IFIDlerExtension.OnLoad
FiddlerApplication.Log.LogString(“MyFlip OnLoad Start”)
'oMenuItem=新菜单项(“M&y翻转”)
添加处理程序oMenuItem。单击,oMenuItem的地址\u单击
FiddleApplication.UI.mnuTools.MenuItems.Add(oMenuItem)
MsgBox(“vbOK!!”)
FiddlerApplication.Log.LogString(“BB OnLoad End.”)
端接头
Sub-oMenuItem\u单击(ByVal发送方作为System.Object_
ByVal e As System.EventArgs)
oMenuItem.Checked=未(oMenuItem.Checked)
bEnabled=已检查的网膜
端接头
#末端区域
末级

我不得不加上这句话…('・ω・`)


而且,,,,,事实上,我写的代码在最开始的时候有误译 操作条件判断

有人请不要复制和使用我的代码


非常感谢。

我打赌那是错误的文件夹
    <Assembly: Fiddler.RequiredVersion("2.4.6.0")>