首页 > 解决方案 > 如何在python中获得响应200而不是响应400和304

问题描述

我有在 file.txt 中的 URL 列表,这些 URL 在线没有问题我将得到 200 个全部响应,但它只能得到 20% 的响应 200 我怎样才能正确得到它?

我尝试将其划分为 4 个线程以在更短的时间内获得响应,并设置标头并获取 url 请求。

import threading
import requests
import eventlet

def foo():
    data = {'User-Agent':'Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B179 Safari/7534.48.3'}
    with open('c.txt', 'r') as f:
        line = f.readlines()
    for l in line[0:50]:
        with eventlet.Timeout(2):
            try:
                r = requests.get(l,headers=data,timeout= 2)
                print(r,t.getName())
               
            except:
                pass
        pass

if __name__ == "__main__":
    t = threading.Thread(target = foo, name="Siyamak" )
    t.start()

def bar():
    data = {'User-Agent':'Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B179 Safari/7534.48.3'}
    with open('c.txt', 'r') as f:
        line = f.readlines()
    for l in line[50:100]:
        with eventlet.Timeout(2):
            try:
                r = requests.get(l,headers=data,timeout= 2)
                print(r,t2.getName())
            except:
                pass
        pass

if __name__ == "__main__":
    t2 = threading.Thread(target = bar,name="diyana")
    t2.start()

标签: pythonmultithreadingasynchronousresponse

解决方案


推荐阅读