Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
A nice package to help you parse all types of URL's in vanilla python and return the parsed URL in groups.
Version 2.1 also included get_base_url
a small yet neat function to get a the main url back from a string
pip install hi-urlparser
from hiurlparser import parse_url, get_base_url
url = parse_url('https://open.prospecta.app/my_user_login?user=hi-urlparser&password=H3ll0') # returns url sections as a dict
url_object = get_url('https://open.prospecta.app/my_user_login?user=hi-urlparser&password=H3ll0') # Does the same, bur returns a object
basic_url = get_base_url('https://open.prospecta.app/my_user_login?user=hi-urlparser&password=H3ll0') # Returns just the main url
print(url['domain']) # Outputs -> prospecta
print(url_object.domain) # Outputs -> prospecta
print(basic_url) # Outputs -> https://open.prospecta.app
parse_url
When using the parse_url
function, you get a dict back with different parts of the URL.
The different parts can be accessed by keywords:
For parse_url
use: result['top_domain]
Here is a list of all the available keywords:
Keyword | Desription | Value when not present in URL |
---|---|---|
protocol | The protocol, e.g. https or ftp | None |
www | Returns www if www is used in the URL | None |
sub_domain | The sub domain, e.g. my.subdomain in my.subdomain.example.com. Note that the sub domain also includes www. | None |
domain | The domain, e.g. example in example.com | Is always present |
top_domain | The domain, e.g. com in example.com | Is always present |
dir | The directory, e.g. /my/directory/ in example.com/my/directory/ | None |
file | The file, e.g. my_file.js in example.com/home/my_file.js | None |
path | The full path, e.g. /home/my_file.js in example.com/home/my_file.js | None |
fragment | The URL fragment, e.g. my_link in example.com#my_link | None |
query | The URL query, e.g. my_parameter=1&foo=bar in example.com?my_parameter=1&foo=bar | None |
Use the following command to run tests.
python -m unittest hiurlparser.tests.test_url_parser
See CHANGELOG.md
FAQs
Parse url and get all the different parts out of it
We found that hi-urlparser demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.