MCPcopy Index your code
hub / github.com/PyQt5/PyQt / RequestInterceptor

Class RequestInterceptor

QWebView/BlockRequest.py:17–39  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

15
16
17class RequestInterceptor(QNetworkAccessManager):
18
19 def createRequest(self, op, originalReq, outgoingData):
20 """创建请求
21 :param op: 操作类型见http://doc.qt.io/qt-5/qnetworkaccessmanager.html#Operation-enum
22 :param originalReq: 原始请求
23 :param outgoingData: 输出数据
24 """
25 url = originalReq.url().toString()
26 if url.find('pos.baidu.com') > -1 and url.find('ltu=') > -1:
27 # 拦截百度联盟的广告
28 print('block:', url)
29 originalReq.setUrl(QUrl())
30 if op == self.PostOperation and outgoingData:
31 # 拦截或者修改post数据
32 # 读取后要重新设置,不然网站接收不到请求
33 data = outgoingData.readAll().data()
34 print('post data:', data)
35 # 修改data后重新设置
36 outgoingData = QBuffer(self)
37 outgoingData.setData(data)
38
39 return super(RequestInterceptor, self).createRequest(op, originalReq, outgoingData)
40
41
42class Window(QWebView):

Callers 1

__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected