Skip to content

Commit 9eee967

Browse files
authored
Merge pull request #1 from moonD4rk/master
为 mixPayload 函数增加了追加模式的功能
2 parents 2b9164f + 2cda47a commit 9eee967

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

wsltools/urlclean.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,11 +150,12 @@ def pathSplit(url):
150150
return result
151151

152152

153-
def mixPayload(url, payloads, scope=[]):
153+
def mixPayload(url, payloads, scope=[], append=False):
154154
'''
155155
:param url: Generic URL.
156156
:param payloads: Payloads list
157157
:param scope: [optional] list, e.g. [params, path, query, fragment]
158+
:param append: append payload for query and fragment, default is replace
158159
:return: list
159160
'''
160161

@@ -186,13 +187,19 @@ def mixPayload(url, payloads, scope=[]):
186187
if not scope or 'query' in scope:
187188
for k in qs_dict.keys():
188189
tmp_dict = copy.deepcopy(qs_dict)
189-
tmp_dict[k] = p
190+
if append:
191+
tmp_dict[k] = tmp_dict[k] + p
192+
else:
193+
tmp_dict[k] = p
190194
tmp_qs = unquote(urlencode(tmp_dict))
191195

192196
result.add(urlunparse([u.scheme, u.netloc, u.path, u.params, tmp_qs, u.fragment]))
193197

194198
if (not scope or 'fragment' in scope) and u.fragment:
195-
result.add(urlunparse([u.scheme, u.netloc, u.path, u.params, u.query, p]))
199+
if append:
200+
result.add(urlunparse([u.scheme, u.netloc, u.path, u.params, u.query, u.fragment + p]))
201+
else:
202+
result.add(urlunparse([u.scheme, u.netloc, u.path, u.params, u.query, p]))
196203

197204
result = list(result)
198205

0 commit comments

Comments
 (0)