Skip to content

PycURL - Python interface to libcurl modified to be compiled with curl-impersonate

License

Notifications You must be signed in to change notification settings

theol-git/pycurl-impersonate

Repository files navigation

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.

About

PycURL - Python interface to libcurl modified to be compiled with curl-impersonate

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages