httpso


Namehttpso JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
Summary🦄 A minimal and simple but unicorn HTTP library.
upload_time2024-07-10 13:42:00
maintainerNone
docs_urlNone
authorTorsten Klement
requires_pythonNone
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # httpso

🦄 A minimal and simple but unicorn HTTP library.



**httpso** allows you to send HTTP/1.1 and HTTP/2 requests extremely easily.



### Why is this library needed?



The focus of this library is on the ability to customize Ja3 fingerprints and using proxy servers when connecting to a TCP server to bypass most of DNS limitations.



### What functions does the library offer?



The answer is easy! All, but minimal and powerful 😎



### How can i use it?



The library supports all common requests types.



``` python

import json

from httpso import Session



# Session

s = Session(http_version=2,

            proxy_host="geo.iproyal.com",

            proxy_port=12321,

            proxy_username="YOUR_PROXY_USERNAME",

            proxy_password="YOUR_PROXY_PASSWORD",

            ja3_fingerprint="772,4865-4866-4867-49196-49195-52393-49200-49199-52392-49162-49161-49172-49171-157-156-53-47-49160-49170-10,0-23-65281-10-11-16-5-13-18-51-45-43-27,29-23-24-25,0")



url = "https://integx.de"



headers = {

    "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6 Mobile/15E148 Safari/604.1"

}



payload_data = "key=value"



payload_json = json.dumps({

    "key": "value"

})



payload_hex = ''.join(hex(ord(c))[2:] for c in "test")



print(f'GET: {s.get(url, headers, timeout=15)}')

# print(f'DELETE: {s.delete(url, timeout=5).__str__()}')

# print(f'HEAD: {s.head(url, timeout=5).__str__()}')

# print(f'TRACE: {s.trace(url, timeout=5).__str__()}')

# print(f'POST [DATA]: {s.post(url, headers, data=payload_data, timeout=5).__str__()}')

# print(f'POST [JSON]: {s.post(url, headers, json=payload_json, timeout=5).__str__()}')

# print(f'POST [HEX]: {s.post(url, headers, data=payload_hex, timeout=5).__str__()}')

# print(f'PUT: {s.put(url, headers, data=payload_data, timeout=5).__str__()}')

# print(f'PATCH: {s.post(url, headers, data=payload_data, timeout=5).__str__()}')

```



### What is the goal?



The reason for creating this library was that over time it became increasingly difficult to retrieve data from services on the World Wide Web (technical term: **scraping**) or to send this data back to the service (technical term: **reverse engineering**) and get a valid response. The reason for this was that the **ja3 fingerprints** of conventional Python libraries were statically set by the developers and were therefore easy to identify. For this simple purpose this library was created. **Only with the addition of creating the ability to change the client's fingerprint and enabling the use of proxy servers.**



### Credits



The **httpso** library is based on [tlsnet](https://github.com/torstenprivate/tlsnet), a .NET HTTP 1.1/2 client library with support for Ja3 fingerprints and proxy servers.



### Questions?



You can contact me on Discord: https://discord.gg/VaKrQ26DH3



### License



MIT



### Please note!



If you are facing the **Error 13 Permission denied** for example on macOS, pleae open a terminal and run the following command



``` shell

cd /Users/YOUR_USERNAME/Library/Python/YOUR_PYTHON_VERSION/lib/python/site-packages/httpso/c/

sudo chmod 777 tlsnet-osx-x64

```






            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "httpso",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "Torsten Klement",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/e2/11/6f7b796e8ceb6b1e8d6b1503a01b99a03064b51cdb39677f1349768ff672/httpso-0.1.1.tar.gz",
    "platform": null,
    "description": "# httpso\r\n\r\n\ud83e\udd84 A minimal and simple but unicorn HTTP library.\r\n\r\n\r\n\r\n**httpso** allows you to send HTTP/1.1 and HTTP/2 requests extremely easily.\r\n\r\n\r\n\r\n### Why is this library needed?\r\n\r\n\r\n\r\nThe focus of this library is on the ability to customize Ja3 fingerprints and using proxy servers when connecting to a TCP server to bypass most of DNS limitations.\r\n\r\n\r\n\r\n### What functions does the library offer?\r\n\r\n\r\n\r\nThe answer is easy! All, but minimal and powerful \ud83d\ude0e\r\n\r\n\r\n\r\n### How can i use it?\r\n\r\n\r\n\r\nThe library supports all common requests types.\r\n\r\n\r\n\r\n``` python\r\n\r\nimport json\r\n\r\nfrom httpso import Session\r\n\r\n\r\n\r\n# Session\r\n\r\ns = Session(http_version=2,\r\n\r\n            proxy_host=\"geo.iproyal.com\",\r\n\r\n            proxy_port=12321,\r\n\r\n            proxy_username=\"YOUR_PROXY_USERNAME\",\r\n\r\n            proxy_password=\"YOUR_PROXY_PASSWORD\",\r\n\r\n            ja3_fingerprint=\"772,4865-4866-4867-49196-49195-52393-49200-49199-52392-49162-49161-49172-49171-157-156-53-47-49160-49170-10,0-23-65281-10-11-16-5-13-18-51-45-43-27,29-23-24-25,0\")\r\n\r\n\r\n\r\nurl = \"https://integx.de\"\r\n\r\n\r\n\r\nheaders = {\r\n\r\n    \"User-Agent\": \"Mozilla/5.0 (iPhone; CPU iPhone OS 17_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6 Mobile/15E148 Safari/604.1\"\r\n\r\n}\r\n\r\n\r\n\r\npayload_data = \"key=value\"\r\n\r\n\r\n\r\npayload_json = json.dumps({\r\n\r\n    \"key\": \"value\"\r\n\r\n})\r\n\r\n\r\n\r\npayload_hex = ''.join(hex(ord(c))[2:] for c in \"test\")\r\n\r\n\r\n\r\nprint(f'GET: {s.get(url, headers, timeout=15)}')\r\n\r\n# print(f'DELETE: {s.delete(url, timeout=5).__str__()}')\r\n\r\n# print(f'HEAD: {s.head(url, timeout=5).__str__()}')\r\n\r\n# print(f'TRACE: {s.trace(url, timeout=5).__str__()}')\r\n\r\n# print(f'POST [DATA]: {s.post(url, headers, data=payload_data, timeout=5).__str__()}')\r\n\r\n# print(f'POST [JSON]: {s.post(url, headers, json=payload_json, timeout=5).__str__()}')\r\n\r\n# print(f'POST [HEX]: {s.post(url, headers, data=payload_hex, timeout=5).__str__()}')\r\n\r\n# print(f'PUT: {s.put(url, headers, data=payload_data, timeout=5).__str__()}')\r\n\r\n# print(f'PATCH: {s.post(url, headers, data=payload_data, timeout=5).__str__()}')\r\n\r\n```\r\n\r\n\r\n\r\n### What is the goal?\r\n\r\n\r\n\r\nThe reason for creating this library was that over time it became increasingly difficult to retrieve data from services on the World Wide Web (technical term: **scraping**) or to send this data back to the service (technical term: **reverse engineering**) and get a valid response. The reason for this was that the **ja3 fingerprints** of conventional Python libraries were statically set by the developers and were therefore easy to identify. For this simple purpose this library was created. **Only with the addition of creating the ability to change the client's fingerprint and enabling the use of proxy servers.**\r\n\r\n\r\n\r\n### Credits\r\n\r\n\r\n\r\nThe **httpso** library is based on [tlsnet](https://github.com/torstenprivate/tlsnet), a .NET HTTP 1.1/2 client library with support for Ja3 fingerprints and proxy servers.\r\n\r\n\r\n\r\n### Questions?\r\n\r\n\r\n\r\nYou can contact me on Discord: https://discord.gg/VaKrQ26DH3\r\n\r\n\r\n\r\n### License\r\n\r\n\r\n\r\nMIT\r\n\r\n\r\n\r\n### Please note!\r\n\r\n\r\n\r\nIf you are facing the **Error 13 Permission denied** for example on macOS, pleae open a terminal and run the following command\r\n\r\n\r\n\r\n``` shell\r\n\r\ncd /Users/YOUR_USERNAME/Library/Python/YOUR_PYTHON_VERSION/lib/python/site-packages/httpso/c/\r\n\r\nsudo chmod 777 tlsnet-osx-x64\r\n\r\n```\r\n\r\n\r\n\r\n\r\n\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "\ud83e\udd84 A minimal and simple but unicorn HTTP library.",
    "version": "0.1.1",
    "project_urls": {
        "Source": "https://github.com/torstenprivate/httpso"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c119f6e37f10c6236562a928ce433e578fb6995c72cf742ff000390eb16db7b1",
                "md5": "007b26ffd0dfa56bf4d305686ef85a41",
                "sha256": "429ea81ae85c6aa5eef61d2fa59cb039cf64d0c8c0dc289e2e1b12dac1f7b425"
            },
            "downloads": -1,
            "filename": "httpso-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "007b26ffd0dfa56bf4d305686ef85a41",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 9468,
            "upload_time": "2024-07-10T13:41:56",
            "upload_time_iso_8601": "2024-07-10T13:41:56.848682Z",
            "url": "https://files.pythonhosted.org/packages/c1/19/f6e37f10c6236562a928ce433e578fb6995c72cf742ff000390eb16db7b1/httpso-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e2116f7b796e8ceb6b1e8d6b1503a01b99a03064b51cdb39677f1349768ff672",
                "md5": "e110a9abe44fb7ef9c42597cff175cfa",
                "sha256": "49fcc55f11916d68a4c505cf35271243bd327c2b53618bdb4224a7d6d6654cc9"
            },
            "downloads": -1,
            "filename": "httpso-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "e110a9abe44fb7ef9c42597cff175cfa",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 9390,
            "upload_time": "2024-07-10T13:42:00",
            "upload_time_iso_8601": "2024-07-10T13:42:00.227411Z",
            "url": "https://files.pythonhosted.org/packages/e2/11/6f7b796e8ceb6b1e8d6b1503a01b99a03064b51cdb39677f1349768ff672/httpso-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-10 13:42:00",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "torstenprivate",
    "github_project": "httpso",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "httpso"
}
        
Elapsed time: 0.35130s