Permintaan Bagaimana untuk mengganggu permintaan?
PHPz
PHPz 2017-05-18 10:53:01
0
1
1245

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?

PHPz
PHPz

学习是最好的投资!

membalas semua (1)
Peter_Zhu

加一个IsStop变量,然后return停止线程

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() self.IsStop = False def stop(self): self.p.connection.close() self.s.close() self.IsStop = True 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): if self.IsStop : return None data += chunk print json.loads(data) print time.time()-t t = TestT() t.start() t.join(30) t.stop() t.join()
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!