2017-03-22 16 views
2

からQt WebKitQt WebEngineからアプリを移植したいと考えています。 QtのWebkitので、私はQNetworkRequestを使用して、HTTPヘッダーを設定することができますが、QtのWebEngineで、DOCは言う:PyQt Webエンジンのhttpヘッダーを設定

QtのWebEngineは、独自のHTTP実装を持っていると私はPyQt5を使用してQNetworkAccessManager

を通過することはできませんQt5.8。

Qt WebEngineでhttpヘッダーを設定する方法が見つかりません。

--------------更新----------------

最後に、機能しました。ありがとう! @Trilarion:あなたはinterceptRequest方法あなたが経由でHTTPヘッダを設定することができQWebEngineUrlRequestInfoを取得し、その中にQWebEngineUrlRequestInterceptorを実装する必要があり

self.request_interceptor = NWUrlRequestInterceptor(self.headers) 
self.webpage.profile().setRequestInterceptor(self.request_interceptor) 

答えて

2

は私QWebEngineUrlRequestInterceptorクラス私のブラウザで

class NWUrlRequestInterceptor(QWebEngineUrlRequestInterceptor): 
    def __init__(self, headers): 
     super(QWebEngineUrlRequestInterceptor, self).__init__() 
     self.headers = headers 

    def set_headers(self,headers): 
     self.headers = headers 

    def interceptRequest(self, info): 
     print info, self.headers 
     for header, value in self.headers: 
      info.setHttpHeader(header, value); 

使用を定義しますsetHttpHeader

QWebEngineView.page()。profile()。setRequestInterceptorを使用して要求インターセプタを設定します。

How to send HTTPHeader using QT WebEngine?にインスパイアされています。

+1

うん。それは働いた!ありがとう! – bestren

関連する問題