为了账号安全,请及时绑定邮箱和手机立即绑定

使用循环附加文本

使用循环附加文本

阿波罗的战车 2023-10-11 22:47:39
我需要帮助,所以基本上我正在创建一个函数,我们将 URL 作为带参数的输入,然后它将修改参数的值,然后打印修改后的 URL。def findingParams(url):#url = url+'?name=aman&test=aman'base_url = url.split('?')[0]parameters = url.split('?')[1]myparms = {}myparms1 = []payload = "modified_value"if '&' in parameters:    #['name=123', 'test=321']    parameters =  parameters.split('&')    for params in parameters:        myparms1.append(params.split('=')[0])        myparms[(params.split('=')[0])] = payload        #['name', '123']        #['test', '321']        print(f'url = {url}\nparams = {myparms}')    #here I want the ouput as modified parameterelse:    #print(params.split('='))    print(base_url)    print(parameters)    myparms1.append(parameters.split('=')[0])    myparms[(parameters.split('=')[0])] = payload    print(f'url = {url}\nparams = {myparms}')    #['name', '123']#myparms = {'name':'123', 'test':'321'}    for i in myparms1:        print(f'{base_url}?{i}={myparms[i]}')        #base_url+?[params]=[payload]我写了这个函数,这个函数可以很好地处理具有单个参数的 URL,例如:testme.com/test.php?name=123并且我还必须使其可以处理多个参数,但问题是我不知道如何使用 for 循环在 URL for 中附加值示例:如果我使用 for 循环,则输出如下testme.com/test.php?name=modified_Valuetestme.com/test.php?test=modified_Value但我想要这样的网址testme.com/test.php?name=modified_value&test=modified_value.
查看完整描述

2 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

尝试使用临时变量在循环中构建 url,然后在最后打印,如下所示:


result = f'{base_url}?'

for i in myparms1:

        result = result + f'{i}=myparms1[i]&'


# remove extra & at end after last parameter

result = result[:-1]


print(result)


查看完整回答
反对 回复 2023-10-11
?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

#!/usr/bin/env python3


def findingParams(url):

    if "?" not in url:

        print(url)

    else:

        base_url, parameters = url.split("?")

        payload = "modified_value"


        if "&" in parameters:

            modif = ""

            for params in parameters.split("&"):

                name, value = params.split("=")


                modif += name + "=" + payload + "&"

            print(base_url + "?" + modif.strip("&"))

        else:

            print(url.split("=")[0] + "=" + payload)


findingParams("testme.com/test.php")

# testme.com/test.php

findingParams("testme.com/test.php?name=123")

# testme.com/test.php?name=modified_value

findingParams("testme.com/test.php?name=12345&test=12345")

# testme.com/test.php?name=modified_value&test=modified_value

findingParams("testme.com/test.php?name=12345&test=12345&foo=12345")

# testme.com/test.php?name=modified_value&test=modified_value&foo=modified_value


查看完整回答
反对 回复 2023-10-11
  • 2 回答
  • 0 关注
  • 91 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信