Versión de Fiddler:
Progress Telerik Fiddler Web Depurador v5.0.20182.28034 para .NET 4.6.1
Built: 2018年6月27日
1: Primero, usamos vs2017 para crear un nuevo proyecto de biblioteca .NET 4.0 (Esto es incorrecto, como diré más abajo, necesitas construir un proyecto 4.6.1, si no, la compilación fallará), como se muestra a continuación:
Como mi versión de Fiddler es relativamente alta, los requisitos para la versión .NET serán mayores, y el error se reportará de la siguiente manera al compilar y generar la versión .NET 4.0:
1>------ Toda la reconstrucción ha comenzado: Proyecto: fiddler-plugin-demo, Configuración: Depurar cualquier CPU ------ 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): advertencia MSB3274: No se resolvió la referencia principal "Fiddler" porque estaba dirigida a ". NETFramework, Version=v4.6.1". Esta versión del marco es superior al marco objetivo actual". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): advertencia MSB3268: No se resolvió la referencia principal "Fiddler", Debido a que tiene una dependencia indirecta del ensamblador de framework "System.Net.Http, version=4.0.0.0, culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", que no se analiza en el framework objetivo actual. “. NETFramework,Version=v4.0"。 Para resolver este problema, elimina la referencia a "Fiddler" o redirige el destino de la aplicación a la versión del framework que contiene "System.Net.Http, version=4.0.0.0, culture=neutral, PublicKeyToken=b03f5f7f11d50a3a". 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): advertencia MSB3275: No se resolvió la referencia principal "Fiddler" porque tenía un problema de ensamblador analytics, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "tiene dependencias indirectas, y el ensamblador está dirigido a ". NETFramework, Version=v4.5" framework. Esta versión del marco es superior al marco objetivo actual". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): advertencia MSB3275: No se resolvió la referencia principal "Fiddler" porque tenía un problema de ensamblador newtonsoft.json, version=11.0.0.0, culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed"tiene dependencias indirectas, y el ensamblador está dirigido contra ". NETFramework, Version=v4.5" framework. Esta versión del marco es superior al marco objetivo actual". NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): advertencia MSB3275: No se resolvió la referencia principal "Fiddler" porque tenía un problema de ensamblador GA. analytics.monitor, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "tiene una dependencia indirecta a la que el ensamblador está relacionado". NETFramework, Version=v4.5" framework. Esta versión del marco es superior al marco objetivo actual". NETFramework,Version=v4.0"。 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\Properties\AssemblyInfo.cs(37,12,37,19): error CS0246: No se ha encontrado el nombre del tipo o del espacio de nombres" Fiddler" (¿falta alguna referencia de instrucciones de uso o ensamblador?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(1,7,1,14): error CS0246: No se ha encontrado el nombre del tipo o del espacio de nombres "Fiddler" (faltado ¿usando directiva o referencia de ensamblaje?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(10,34,10,45): error CS0246: No se ha encontrado el nombre del tipo o del espacio de nombres "IAutoTamper" ( ¿Falta alguna directiva de uso o referencia de ensamblaje?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(19,44,19,51): error CS0246: No se ha encontrado el nombre del tipo o del espacio de nombres "Session" (ausente ¿usando directiva o referencia de ensamblaje?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(24,45,24,52): error CS0246: No se ha encontrado el nombre del tipo o del espacio de nombres "Session" (ausente ¿usando directiva o referencia de ensamblaje?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(29,45,29,52): error CS0246: No se ha encontrado el nombre del tipo o del espacio de nombres "Session" (falta ¿usando directiva o referencia de ensamblaje?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(34,46,34,53): error CS0246: No se ha encontrado el nombre del tipo o del espacio de nombres "Session" (falta). ¿usando directiva o referencia de ensamblaje?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs(39,44,39,51): error CS0246: No se ha encontrado el nombre del tipo o del espacio de nombres "Session" (falta ¿usando directiva o referencia de ensamblaje?) ========== Regenera todo: 0 éxito, 1 falla y 0 ========== se omite
¡La solución es cambiar a .NET 4.6.1!
2: Añadir la referencia fiddler.exe en Explorador de Soluciones, mi directorio de instalación de Fiddler es: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler, como se muestra a continuación:
3: Establecer la versión mínima de Fiddler que está ejecutando el plugin
Añade el atributo Fiddler.RequiredVersion al archivo de AssemblyInfo.cs de tu proyecto (y a cualquier otro lugar de tu código).
4: Crear un nuevo control de interfaz de pestaña Fiddler
Necesitas añadir una referencia al ensamblador System.Windows.Forms
Empieza añadiendo un control de usuario a tu proyecto llamado TestControl.cs (arbitrario), como se muestra en la imagen de abajo:
Luego coloca un control de botón aleatorio encima del control de usuario y escribe una línea sencilla de código de evento de clic:
5: Crear una nueva clase de extensión DemoExtention
La clase DemoExtention hereda la interfaz IAutoTamper,La interfaz IAutoTamper hereda la interfaz IFiddlerExtensionTodos los plugins que implementen la interfaz IAutoTamper se llamarán en cada solicitud o respuesta http/https, para que puedan usarse para secuestrar o modificar los datos de respuesta a peticiones http/https.
Nota: El método de esta interfaz se llama en un hilo de segundo plano, sin la interfaz; si quieres actualizar la interfaz, puedes usar el método Invoke o BeginInvoke para actualizarla. Todos los métodos de IAutoTamper pueden ejecutarse antes del evento OnLoad.
El código es el siguiente:
6: Fiddler carga el plugin
Después de programar y generar, copia los dos archivos fiddler-plugin-demo.dll y fiddler-plugin-demo.pdb bajo el directorio Debug a la carpeta scrip{filter}ts de nuestro directorio de instalación de Fiddler.
La mía propia es: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler\scrip{filter}ts folder
Finalmente, reiniciamos y abrimos Fiddler, y podemos ver nuestros controles en la pestaña, como se muestra a continuación:
7: Habilitar el plugin para que se despliegue automáticamente en el directorio de plugins Fiddler
Cada vez que modificamos el plugin, necesitamos copiar el dll a la carpeta scrip{filter}ts de nuevo, podemos resolver este problema mediante el evento de generación de VS, recompilamos la generación, VS copiará automáticamente nuestro dll al directorio scrip{filter}ts y completará el siguiente comando en la línea de comandos de eventos de generación posterior:
Como se muestra a continuación:
Probado para uso normal.
Finalmente, adjunta el código fuente:
Turistas, si queréis ver el contenido oculto de esta publicación, por favor Respuesta
|