每次脚本运行时更新 Python 变量

问题描述 投票:0回答:1

我有一个发送请求的 Python 脚本,它发送标头和数据。我能够发送,并且它正在工作。我有一个正在发送的标头,一个变量。该变量将被附加一个新字符。我的问题是,它只在每次启动脚本时附加,我需要它在每次发送时附加,而不必每次都重新启动脚本来发送新生成的项目。我已将我的代码粘贴在下面 `

import requests import string import random from time import sleep RequestsSent = 0 i = 1 if(i > 0): input_string = "guest=guest_acc8a45cdf57f7a" alphabet = string.ascii_lowercase random_character = random.choice(alphabet) result_string = input_string + random_character data = "xxxxxxxxxxxxx" headers = {'xxxxx': 'xxxxx', 'xxxxx': result_string} while(True): r=requests.post(url, data=data, headers=headers) #print(r.text) RequestsSent += 1 i += 1 print("Requests sent: " + str(RequestsSent)) print("Sent guess ID: " + str(result_string)) sleep(5)

`

输出:

发送的请求:1 发送猜测 ID:guest=guest_acc8a45cdf57f7f

发送的请求:2 发送猜测 ID:guest=guest_acc8a45cdf57f7f

发送的请求:3 发送猜测 ID:guest=guest_acc8a45cdf57f7f

如果我重新启动脚本,那么它会生成新的猜测ID吗

我尝试将追加作为无限 While 循环,但它只是永远停留在该循环上并且不发送数据,if 语句也不起作用,

python post random python-requests ascii
1个回答
0
投票

为了实现您正在寻找的行为,您需要将生成随机字符的代码移动到发送请求的循环内。这是代码的修改版本,应该可以按预期工作:

import requests import string import random from time import sleep RequestsSent = 0 data = "xxxxxxxxxxxxx" headers = {'xxxxx': 'xxxxx'} while True: input_string = "guest=guest_acc8a45cdf57f7a" alphabet = string.ascii_lowercase random_character = random.choice(alphabet) result_string = input_string + random_character r = requests.post(url, data=data, headers=headers) RequestsSent += 1 print("Requests sent: " + str(RequestsSent)) print("Sent guess ID: " + str(result_string)) sleep(5)

使用此代码,随机字符生成被移至循环内部,因此每次循环迭代(发送请求时),一个新的随机字符将被附加到“result_string”。这应该会导致您正在寻找的行为,其中猜测 ID 会随着每个请求而变化,而无需重新启动脚本。

© www.soinside.com 2019 - 2024. All rights reserved.