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?
Tambah pembolehubah IsStop dan kemudian kembali untuk menghentikan benang