Categories
Python Answers

How to send 100,000 HTTP requests quickly in Python?

Spread the love

Sometimes, we want to send 100,000 HTTP requests quickly in Python.

In this article, we’ll look at how to send 100,000 HTTP requests quickly in Python.

How to send 100,000 HTTP requests quickly in Python?

To send 100,000 HTTP requests quickly in Python, we can use the tornado library.

To install it we run

pip install tornado

Then we use it by writing

from tornado import ioloop, httpclient

i = 0

def handle_request(response):
    print(response.code)
    global i
    i -= 1
    if i == 0:
        ioloop.IOLoop.instance().stop()

http_client = httpclient.AsyncHTTPClient()
for url in open('urls.txt'):
    i += 1
    http_client.fetch(url.strip(), handle_request, method='HEAD')
ioloop.IOLoop.instance().start()

to create the handle_request function that gets the response and prints our the code.

Once i is 0, we have

ioloop.IOLoop.instance().stop()

to stop the async requests.

Then we create an HTTP client object with

http_client = httpclient.AsyncHTTPClient()

Then we loop through the URLs returned from urls.txt.

In the loop, we call fetch to make a GET request with each url and increment i.

Then we have

ioloop.IOLoop.instance().start()

to start making the requests asynchronously.

Conclusion

To send 100,000 HTTP requests quickly in Python, we can use the tornado library.

By John Au-Yeung

Web developer specializing in React, Vue, and front end development.

Leave a Reply

Your email address will not be published. Required fields are marked *