ExtractDomainFromUrlAndEmail

Extract Domain(s) from URL(s) and/or Email(s).

python · Common Scripts

Details

IDExtractDomainFromUrlAndEmail
Languagepython
From Version5.0.0
Docker Imagedemisto/py3-tools:1.0.0.11597437
Tagsindicator-format

README

Extract Domain(s) from URL(s) and/or Email(s)

Script Data


Name Description
Script Type python3
Tags indicator-format
Cortex XSOAR Version 5.0.0

Inputs


Argument Name Description
input The URL(s) or Email(s) to process

Outputs


There are no outputs for this script.

import pytest
from ExtractDomainFromUrlFormat import extract_domain, unescape_url


@pytest.mark.parametrize(
    "input,domain",
    [
        ("http://this.is.test.com", "test.com"),
        ("http:example.com", "example.com"),
        ("http:\\\\example.com", "example.com"),
        ("https://caseapi.phishlabs.com", "phishlabs.com"),
        ("www.bücher.de", "bücher.de"),
        (
            "https://urldefense.proofpoint.com/v2/url?u=http-3A__go.getpostman.com_y4wULsdG0h0DDMY0Dv00100&d=DwMFaQ&c=ywDJJevdGcjv4rm9P3FcNg&r=s5kA2oIAQRXsacJiBKmTORIWyRN39ZKhobje2GyRgNs&m=vN1dVSiZvEoM9oExtQqEptm9Dbvq9tnjACDZzrBLaWI&s=zroN7KQdBCPBOfhOmv5SP1DDzZKZ1y9I3x4STS5PbHA&e=",
            "getpostman.com",
        ),  # noqa: E501
        ("hxxps://www[.]demisto[.]com", "demisto.com"),
        (
            "https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftwitter.com%2FPhilipsBeLux&data=02|01||cb2462dc8640484baf7608d638d2a698|1a407a2d76754d178692b3ac285306e4|0|0|636758874714819880&sdata=dnJiphWFhnAKsk5Ps0bj0p%2FvXVo8TpidtGZcW6t8lDQ%3D&reserved=0%3E%5bcid:image003.gif@01CF4D7F.1DF62650%5d%3C",
            "twitter.com",
        ),  # noqa: E501 disable-secrets-detection
    ],
)  # noqa: E124
def test_extract_domain(input, domain):
    res = extract_domain(input)
    assert res == domain


@pytest.mark.parametrize(
    "input,url", [("http:example.com", "http://example.com"), ("http:\\\\example.com", "http://example.com")]
)  # noqa: E124
def test_unescaped_url(input, url):
    unescaped_urls = unescape_url(input)
    assert unescaped_urls == url