Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何比较2个url';s在https中忽略s://_Python 3.x_Http_Url_Https - Fatal编程技术网

Python 3.x 如何比较2个url';s在https中忽略s://

Python 3.x 如何比较2个url';s在https中忽略s://,python-3.x,http,url,https,Python 3.x,Http,Url,Https,我想比较两个url的a=”https://example.com/rghj.mp3“和b=”http://example.com/rghj.mp3" . 我想做一个条件,忽略https中的s,比较这两个url并计算为True。最好的方法是什么?我正在尝试执行a.split(“//:”[1]==b.split(“/:”[1]。此代码是否会因任何url格式而中断?快速且脏: a.replace("https://","http://") == b.replace("https://","http:/

我想比较两个url的a=”https://example.com/rghj.mp3“和b=”http://example.com/rghj.mp3" . 我想做一个条件,忽略https中的s,比较这两个url并计算为True。最好的方法是什么?我正在尝试执行a.split(“//:”[1]==b.split(“/:”[1]。此代码是否会因任何url格式而中断?

快速且脏:

a.replace("https://","http://") == b.replace("https://","http://")
根据您的用例,您可能希望采用更健壮的方法

from urllib.parse import urlparse
a_url = urlparse(a)
b_url = urlparse(b)
match = a_url.netloc == b_url.netloc

谢谢,这很有帮助是的,这对上面是有效的。像这样的url呢?想要更一般你是说快速和肮脏的版本?然后您可以执行
a.replace(“https://”和“”).replace(“http://”和“”)
。我不建议你进入这个假设的兔子洞,使用urlparse。好的,谢谢。你上面提到的netloc只给出了中间部分。如何在不连接不同部分的情况下获得除方案外的整个部分?