Python-使用动态值为列表中的每个项目发送请求

Python-使用动态值为列表中的每个项目发送请求,python,loops,python-requests,Python,Loops,Python Requests,我目前正在使用UPS软件包跟踪API,通过POST请求发送跟踪号,该API接收并发回包含软件包信息的JSON响应 目前,我只是使用几个嵌套的字典使用一个跟踪编号值处理实际请求,但我似乎不知道如何让它每次使用不同的跟踪编号发送请求 代码如下: trk = ["tracknbr1", "tracknbr2", "tracknbr3"] data = {"UPSSecurity" : { "UsernameToken" : { "Username" : nme

我目前正在使用UPS软件包跟踪API,通过POST请求发送跟踪号,该API接收并发回包含软件包信息的JSON响应

目前,我只是使用几个嵌套的字典使用一个跟踪编号值处理实际请求,但我似乎不知道如何让它每次使用不同的跟踪编号发送请求

代码如下:

trk = ["tracknbr1", "tracknbr2", "tracknbr3"]

data = {"UPSSecurity" : {
        "UsernameToken" : {
            "Username" : nme,
            "Password" : pwd
        },
        "ServiceAccessToken" : {
            "AccessLicenseNumber" : aln
        },
    },
    "TrackRequest" : {
        "Request" : {
            "RequestOption" : 1,
            "TransactionReference" : {
                "CustomerContext" : ""
            },
        },
        "InquiryNumber" : trk
    }
    }

req = requests.post("https://wwwcie.ups.com/rest/Track", json=data)
print (req.text)
InquiryNumber”是跟踪号存储在请求中的位置

(如果显示的大部分代码对问题不必要,我表示歉意,因为这会使我的问题更容易理解。)

因此,现在它只发送列表中第一项的请求,然后打印响应

我正试图找出一种方法,让请求循环遍历列表中的每个项目,每次发送带有下一个跟踪号的请求

我用
for
循环尝试了几种不同的方法,但我无法让它遍历每个请求列表中的实际值


可能有一个明显的解决方案我没有看到,因为我或多或少只是从Python开始。让我知道你们的想法。

在您的示例中,您正在为不同的事情重用
trk
变量(针对
列表
,然后针对单个
查询编号

import requests


nme = 'your_username'
pwd = 'your_password'
aln = 'your_accesslicensenumber'

tracking_numbers = ["tracknbr1", "tracknbr2", "tracknbr3"]

for trk in tracking_numbers:
    data = {"UPSSecurity" : {
            "UsernameToken" : {
                "Username" : nme,
                "Password" : pwd
            },
            "ServiceAccessToken" : {
                "AccessLicenseNumber" : aln
            },
        },
        "TrackRequest" : {
            "Request" : {
                "RequestOption" : 1,
                "TransactionReference" : {
                    "CustomerContext" : ""
                },
            },
            "InquiryNumber" : trk
        }
        }

    response = requests.post("https://wwwcie.ups.com/rest/Track", json=data)
    print(response.json())

啊哈!非常感谢你。有趣的是,在看到您的响应之前,我只想将整个JSON请求放在一个循环中,但我甚至没有想到如何不能使用
trk
两次。谢谢