Bagaimana untuk mengganggu permintaan dalam permintaan dalam python? Saya menggunakan berbilang benang untuk mendapatkan secara serentak, tetapi saya tidak dapat mencari operasi permintaan berhenti. Saya hanya boleh menunggu sehingga benang itu tamat sebelum ini, dan hanya menulis status di dalamnya untuk berhenti membaca. permintaan tidak menemui kaedah yang serupa.
import requests from threading import Thread from contextlib import closing import json import time class TestT(Thread): def __init__(self): super(TestT, self).__init__() self.s = requests.session() def stop(self): self.p.connection.close() self.s.close() def run(self): t = time.time() self.p = self.s.get('http://api2.qingmo.com/api/column/tree/one?Pid=8&Child=1', stream=True, timeout=10) # 消耗了很多时间 print time.time()-t with closing(self.p) as r: print time.time()-t data = '' for chunk in r.iter_content(4096): data += chunk print json.loads(data) print time.time()-t t = TestT() t.start() t.join(30) t.stop() t.join()
Saya menukarnya dan menggunakan bacaan penstriman, tetapi apabila mendapat, ia masih mengambil masa lebih daripada 3 saat. Bagaimana untuk mengganggu 3 saat ini?
加一个IsStop变量,然后return停止线程