首页 > 解决方案 > 我如何从 python 中的 txt 文件中请求每个令牌

问题描述

我有一个名为 tokens.txt 的文本文件。

例如:12463,4126,6343,6345。

我想用每个令牌发送一个发布请求并使用多线程。

由于某些原因,我的代码仅从 txt 文件中获取最后一个令牌并且仅使用它。

import requests
from concurrent.futures import ThreadPoolExecutor, as_completed
from time import time

url_list = [
    "https://www.google.com/api/"
]
file_lines = open("tokens.txt", "r").readlines()
for line in file_lines:
    tokens = {
        'Token':line.replace('/n','')
        }

def makerequest(url):
    while True:
        html = requests.post(url,stream=True, data=tokens)
        print(tokens)
        return html.content

start = time()

processes = []
with ThreadPoolExecutor(max_workers=200) as executor:
    for url in url_list:
        processes.append(executor.submit(makerequest, url))

for task in as_completed(processes):
    print(task.result())


print(f'Time taken: {time() - start}')

我如何为每个令牌发送一个请求?

标签: pythonmultithreadingpython-requestsreadlines

解决方案


你在做

数据 = 令牌

那时tokens是最后一行的分配。如果您想要所有令牌,则需要执行以下操作:

tokens = set()
for line file_lines:
     tokens.add(......)

推荐阅读