Skip to content

Latest commit

 

History

History
86 lines (63 loc) · 3.2 KB

README.rst

File metadata and controls

86 lines (63 loc) · 3.2 KB

PycURL -- A Python Interface To The cURL library

PycURL is a Python interface to libcurl, the multiprotocol file transfer library. Similarly to the urllib Python module, PycURL can be used to fetch objects identified by a URL from a Python program. Beyond simple fetches however PycURL exposes most of the functionality of libcurl, including:

  • Speed - libcurl is very fast and PycURL, being a thin wrapper above libcurl, is very fast as well. PycURL was benchmarked to be several times faster than requests.
  • Features including multiple protocol support, SSL, authentication and proxy options. PycURL supports most of libcurl's callbacks.
  • Multi and share interfaces.
  • Sockets used for network operations, permitting integration of PycURL into the application's I/O loop (e.g., using Tornado).

What this fork changes ?

This is a modified version of pycurl that adds access to the extra impersonate function defined in curl-impersonate from python. Allowing you to impersonate any browser TLS and headers.

Requirements

  • Python 3.5-3.10.
  • libcurl 7.19.0 or better.

Installation

Please see `INSTALL.rst`_ for installation instructions. .. _INSTALL.rst: http://pycurl.io/docs/latest/install.html

Documentation

Documentation for the development version of PycURL is available here.

To build documentation from source, run make docs. Building documentation requires Sphinx to be installed, as well as pycurl extension module built as docstrings are extracted from it. Built documentation is stored in build/doc subdirectory.

Support

For curl-impersonate linked issues, feel free to open a github issue, but I do not know if I will have the time to work on this project in the future.

License

Copyright (C) 2001-2008 by Kjetil Jacobsen <kjetilja at gmail.com>
Copyright (C) 2001-2008 by Markus F.X.J. Oberhumer <markus at oberhumer.com>
Copyright (C) 2013-2022 by Oleg Pudeyev <code at olegp.name>

All rights reserved.

PycURL is dual licensed under the LGPL and an MIT/X derivative license
based on the cURL license.  A full copy of the LGPL license is included
in the file COPYING-LGPL.  A full copy of the MIT/X derivative license is
included in the file COPYING-MIT.  You can redistribute and/or modify PycURL
according to the terms of either license.