One of the questions is how to send a large number of requests in a short time? Of course, there is no need to DDoSing a web application. As engineers whose daily programming language is PHP, we can build tools using PHP and the various libraries in the PHP ecosystem. However, we thought this was an opportunity to learn about Golang. This is a programming language we hope to delve into in 2022. To facilitate this learning process, we are looking for Golang projects on GitHub. Among the many options available, we decided to explore the project https://github.com/TheHackerDev/race-the-web .
From this race-the-web project
We learned how to send HTTP requests in Golang. Start with the various options that Golang provides for configuring requests, HTTP header settings, to proxy settings (for example, if we want to monitor requests sent and responses received). We also looked at whatsapp data how race-the-web uses goroutines to perform multiple requests simultaneously. While studying the code, we discovered that the process of preparing the request is merged with the process of sending the request. We wondered, what would happen if these two processes were separated? Must try. This is your chance to write Golang code. So we started coding, even though it was awkward. Understandably, this is a language we rarely use. We always have to read the documentation and find out the syntax in Golang for performing certain tasks.
However, the real fascination
Of this learning process came when we had to explore the topic of value semantics and semantic pointers in Golang. This is one of those themes that we really appreciate how the creators of Golang designed it. when things don’t go as planned This learning process doesn’t have to be long. The changes we wanted to make were successfully completed in less than a day. The program runs smoothly. But did we successfully simulate a race condition with the above program? No. It turns out that simulating race conditions is simpler and more efficient using a bash script that only contains 5 lines. Feeling lost? Obviously not.