本文整理汇总了Python中w3af.core.data.parsers.doc.url.URL.set_querystring方法的典型用法代码示例。如果您正苦于以下问题:Python URL.set_querystring方法的具体用法?Python URL.set_querystring怎么用?Python URL.set_querystring使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类w3af.core.data.parsers.doc.url.URL
的用法示例。
在下文中一共展示了URL.set_querystring方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_uri
# 需要导入模块: from w3af.core.data.parsers.doc.url import URL [as 别名]
# 或者: from w3af.core.data.parsers.doc.url.URL import set_querystring [as 别名]
def get_uri(self):
"""
Query the spec / operation and return the URI (with query string
parameters included).
"""
request_dict = self._bravado_construct_request()
url = request_dict['url']
parameters = self._get_filled_parameters()
# We only send in the body the parameters that belong there
for param_name, param_def in self.operation.params.iteritems():
if param_def.location != 'query':
parameters.pop(param_name)
# If the parameter type is an array, we only send the first item
# TODO: Handle collectionFormat from the param_spec to know if
# we should send comma separated (csv) or multiple
# parameters with the same name and different values
for param_name, param_def in self.operation.params.iteritems():
if 'type' not in param_def.param_spec:
continue
if param_def.param_spec['type'] == 'array':
parameters[param_name] = parameters[param_name][0]
if parameters:
formatted_params = [(k, [str(v)]) for k, v in parameters.items() if v is not None]
query_string = QueryString(formatted_params)
else:
# If there are no parameters, we create an empty query string, which is
# not going to be shown in the HTTP request in any way since it is
# serialized to an empty string.
query_string = QueryString()
uri = URL(url)
uri.set_querystring(query_string)
return uri