mirror of
https://github.com/Hopiu/linkchecker.git
synced 2026-05-04 12:54:42 +00:00
do not split cgi params on semicolons
git-svn-id: https://linkchecker.svn.sourceforge.net/svnroot/linkchecker/trunk/linkchecker@2463 e7d03fd6-7b0d-0410-9947-9c21f3af8025
This commit is contained in:
parent
1cf7426026
commit
642e2d1698
2 changed files with 10 additions and 3 deletions
|
|
@ -443,6 +443,13 @@ class TestUrl (unittest.TestCase):
|
|||
def _splitparam (self, x):
|
||||
self.assertEqual(linkcheck.url.splitparams(x[0]), (x[1][0], x[1][1]))
|
||||
|
||||
def test_cgi_split (self):
|
||||
"""
|
||||
Test cgi parameter splitting.
|
||||
"""
|
||||
u = "scid=kb;en-us;Q248840"
|
||||
self.assertEqual(linkcheck.url.url_parse_query(u), u)
|
||||
|
||||
|
||||
def test_suite ():
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ def parse_qsl (qs, keep_blank_values=0, strict_parsing=0):
|
|||
@returns: a list, as G-d intended.
|
||||
@rtype: list
|
||||
"""
|
||||
pairs = [s2 for s1 in qs.split('&') for s2 in s1.split(';')]
|
||||
pairs = [s for s in qs.split('&')]
|
||||
r = []
|
||||
for name_value in pairs:
|
||||
nv = name_value.split('=', 1)
|
||||
|
|
@ -261,9 +261,9 @@ def url_parse_query (query):
|
|||
append = ""
|
||||
l = []
|
||||
for k, v in parse_qsl(query, True):
|
||||
k = urllib.quote(k, '/-:,')
|
||||
k = urllib.quote(k, '/-:,;')
|
||||
if v:
|
||||
v = urllib.quote(v, '/-:,')
|
||||
v = urllib.quote(v, '/-:,;')
|
||||
l.append("%s=%s" % (k, v))
|
||||
elif v is None:
|
||||
l.append(k)
|
||||
|
|
|
|||
Loading…
Reference in a new issue