我有一个发送请求的 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 语句也不起作用,
为了实现您正在寻找的行为,您需要将生成随机字符的代码移动到发送请求的循环内。这是代码的修改版本,应该可以按预期工作:
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 会随着每个请求而变化,而无需重新启动脚本。