在请求中使用局部变量

Use a local variable in a request

我尝试在我的代码中导入代理。

我试图在我的请求中选择一个随机代理,但我没有成功

这是我的代码 (python)

import random
import requests

#create global variable to use in proxy_slct
rdmproxy = "1.1.1.1:1"

#get proxies from file + randomize and select
def proxy_slct():
    global rdmproxy
    threading.Timer(5.0, proxytimer).start()
    proxy_file = open('proxies.txt').read().splitlines()
    rdmproxy = random.choice(proxy_file)
    f.close()
proxytimer()

#request
try:
    login = requests.get("https://httpbin.org/ip", proxies=rdmproxy, timeout=5)
    print(login.json())

为什么要在代码的顶部定义 rmdproxy 然后覆盖它?

试试这个:

import random
import requests

def proxy_slct():
    global rdmproxy
    threading.Timer(5.0, proxytimer).start()
    with open('proxies.txt') as file:
        proxy_file = file.read().splitlines()
        rdmproxy = random.choice(proxy_file)
proxytimer()

try:
    login = requests.get("https://httpbin.org/ip", proxies=rdmproxy, timeout=5)
    print(login.json())

如您所见,您没有在全局范围内初始化 rmdproxy,而是在本地范围内使用关键字 global 为该变量分配了一个随机值。

同时尝试打印该变量,以便您可以查看它的值是否符合您的要求。