I think my internet provider secretly limit my download speed. It has a webpage to test the upload and download speed, I tested the speed while downloading files.
I noticed that whenever I start testing, my file download speed would increase and reach the claimed bandwidth ~10Mb/s, but after the test is done, the file download speed would decrease to ~100Kb/s. I double checked, there is no other process than downloader and web browser that uses the internet.
I tried resend the OPTIONS and POST request but without success. I found a variable in a function ('MAXUPLOADSIZE') in the js code that might control the duration of the test but I don't know how to change the js code at runtime (Haven't tried Fiddler yet). Now I just use Selenium to simulate clicking on the test page.
Any idea on how to deal with this kind of problem? I don't know nothing about network/javascript stuff, any idea would be appreciated.
Updated solution:
I end up using speedtest-cli and writing a script to constantly test the upload speed, now my network speed is finally capped at the maximum bandwidth. I don't know why it works, this is very interesting.