2016-06-06 1 views
0

Я хочу перехватчик запрос URL-адреса к другому по подклассу QWebEngineUrlRequestInterceptor:pyqt5.6 interceptRequest не работает

class RequestInterceptor(QWebEngineUrlRequestInterceptor): 
    def interceptRequest(self,info): 
     print('#################interceptRequest') 
     print(info.requestUrl(),info.firstPartyUrl(),info.NavigationType,info.resourceType(),info.requestMethod()) 
     if info.requestUrl().endswith("/jquery.js"): 
      info.redirect('/jqueryTest.js') 



app = QApplication([]) 
p = QWebEnginePage() 
v = QWebEngineView() 
v.setPage(p) 
p.profile().setRequestInterceptor(RequestInterceptor()) 
c.registerObject('bridge', p) 
url = "http://127.0.0.1:8000/test.html?t=5" 
v.setUrl(QUrl(url)) 
v.show() 
app.exec_() 

Когда я запускаю код, перехватчик не работает!
Надеюсь, что кто-то мне поможет, спасибо!

PS: Может Это вызвано питона мусора collection.So хранить перехватчик в varible путем изменения кода

p.profile().setRequestInterceptor(RequestInterceptor()) 

в

interceptor = RequestInterceptor() 
p.profile().setRequestInterceptor(interceptor) 

Вот и все.

+0

Что означает «не работает» точно? Помогли ли предлагаемые изменения? –

ответ

0

Может Это вызвано питона мусора collection.So хранить перехватчик в varible путем изменения кода

p.profile().setRequestInterceptor(RequestInterceptor()) 

в

interceptor = RequestInterceptor() 
p.profile().setRequestInterceptor(interceptor) 

Вот и все.

+0

Это проблема, связанная с Python, больше обсуждений здесь http://pyqt.riverbankcomputing.narkive.com/N9NK1wyq/qwebengineurlrequestinterceptor-doesn-t-work – iMath

Смежные вопросы