Skip to content
lulianqi edited this page Mar 25, 2019 · 3 revisions

introduction

FreeHttp is a Fiddler plugin. With FreeHttp you can modify the request or response message according to your own settings, which is very useful for testing and debugging.

For example, if you find that the online page js file is wrong, you can directly replace the new js file with the rule. You can directly verify it online without making any changes to the online service.

Also when you find that the service interface data does not meet expectations, you can directly modify the verification, or even clear the login status of the mobile browser or WeChat service number.

I hope that after you understand its basic functions and working principle, you can provide convenience in practical work.

FreeHttp origin

Nowadays, the Internet or IT industry is almost inseparable from HTTP. A considerable part of the connection between the system and the system needs to use HTTP. In the usual work (especially the test work), I will gradually find myself in addition to the HTTP report. There is a need for text, and in many cases it is necessary to tamper with HTTP message assisted testing or debugging.

Fiddler actually provides breakpoints. The AutoResponder and FiddlerScript functions can directly or indirectly implement the message tampering function. However, during use, they will find that they are difficult to operate in many cases, and even some situations do not meet my needs. .

In order to meet some of my specific needs, I used the Fiddler extension interface to slowly develop and develop plug-ins for myself. Later, as the work needs to add more and more functions to the plug-in, I have developed a function to implement the function into a general form. Help other students (it became the prototype of FreeHttp)

After using the spare time to gradually implement the function of the current version, due to time and level restrictions, I believe that FreeHttp still has many defects and deficiencies, I hope everyone can bear with me. I found that the problem can be directly raised, I will fix it as soon as possible, hoping to facilitate the work of everyone.

The basic implementation process of FreeHttp tampering with http messages is as shown above (green line represents http request, yellow line represents http response)

FreeHttp access requests and responses need to rely on fiddler proxy, which means that as long as the http request message of the terminal device connected to the fiddler proxy can be falsified by FreeHttp, it also supports tampering with https (when it encounters http2.0 request, it will be downgraded to Http1.1, then tamper with the message)

 FreeHttp plugin installation

1: Your computer needs to have Fiddler installed (if it is not installed, please go to the official website to download and install  http://docs.telerik.com/fiddler/configure-fiddler/tasks/configurefiddler )

2: Go to the Scripts directory of the Fiddler installation directory and copy FreeHttp.dll to this directory (download it to: https://files.cnblogs.com/files/lulianqi/FreeHttp1.1.zip   or  http://lulianqi .com/file/FreeHttp1.1.zip    unzip to get FreeHttp.dll )

3: Restart Fiddler to appear in the panel FreeHttp tag

**Remarks:   **

**            Due to the length of this article, if you don't have enough time or want to check the detailed functions of FreeHttp for the time being, it is recommended that you read Chapter 6 [Six: Quick Start] , Chapter 7 [Seven: Simple Practice] (This 2 Chapters can help you quickly understand the basic functions of FreeHttp)**

**            If you are interested in the FreeHttp code implementation, or if you plan to modify the FreeHttp functionality, you can find the relevant content (source code address and engineering structure) at the end of the chapter [Implementation and Source Code]**

FreeHttp basic interface

The basic operation interface is as shown below and is mainly divided into 5 parts.

  1. Session matching rule editing area "Url Filter"
  2. Htpp request or response tampering rule editing area
  3. Rule editing control strip
  4. Http session capture/tampering or rule execution log
  5. A list of http tampering rules has been created

         When the request is sent or received, freehttp will match the tampering rule in the tampering rule list (matching the content in the Url Filter). If the matching is successful, the tampering of the http message will be performed (tampering with the content of the rule editing area)

            As shown above, you can easily adjust the layout of each display area.