urlfetch is a simple, lightweigth and easy to use HTTP client for Python. It is distributed as a single file module and has no depencencies other than the Python Standard Library.

ifduyue ifduyue Last update: Jul 19, 2022

urlfetch travis-badge furyio-badge

urlfetch is a simple, lightweight and easy to use HTTP client for Python.It is distributed as a single file module and has no depencencies other than the Python Standard Library.

Highlights

  • Distributed as a single file module, has no depencencies other than the Python Standard Library.
  • Pure Python, works fine with gevent.
  • Small codebase, about 1000 lines and 30% are comments and blank lines. Only 10 minutes you can know every detail.
  • Random user-agent.
  • Support streaming.

Installation

$ pip install urlfetch

Hello, world

import urlfetchresponse = urlfetch.get('http://python.org/')print response.status, response.reasonprint len(response.content)

Uploading files

import urlfetchresponse = urlfetch.post(    'http://127.0.0.1:8888/upload',    headers = {        'Referer': 'http://127.0.0.1/',    },    files = {        'fieldname1': open('/path/to/file', 'rb'),        #'fieldname2': 'file content', # file must have a filename        'fieldname3': ('filename', open('/path/to/file2', 'rb')),        'fieldname4': ('filename', 'file content'),    },    data = {        'foo': 'bar'    },)print response.status, response.content

Testing

To run the tests, urlfetch relies on bottle and gunicorn.If the tests are run by calling python setup.py test, thedependencies will be handled automatically (via tests_require).So, if you want to run the tests directly, that is,python tests/testall.py, make sure bottle and gunicorn are installedunder the PYTHONPATH.

Tags:

Subscribe to our newsletter