setHttpHeader not wok in QWebEngineUrlRequestInfo
-
@KHOSRO said in setHttpHeader not wok in QWebEngineUrlRequestInfo:
but setHttpHeader not work
So, is info.setHttpHeader called?
-
@jsulm no, i checked it now but not work
```def setHttpHeader(self, name, PySide6_QtCore_QByteArray=None, bytes=None, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ """ setHttpHeader(self, name: Union[PySide6.QtCore.QByteArray, bytes], value: Union[PySide6.QtCore.QByteArray, bytes]) -> None """ print('Hiiiiiiiiiiiiiii') pass
it can not print 'Hiiiiiii'
-
Then that means that
if info.resourceType() == QWebEngineUrlRequestInfo.ResourceTypeImage
is never true.
-
@jsulm yesss
this condition satisfy and it isprint(info.resourceType()) if info.resourceType() == QWebEngineUrlRequestInfo.ResourceTypeImage: # Set custom cache control info.setHttpHeader(b'Cache-Control', b'max-age=31536000')
outpu is :
PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypeImageand the QWebEngineUrlRequestInfo class is :
class QWebEngineUrlRequestInfo(__Shiboken.Object): # no doc def block(self, shouldBlock): # real signature unknown; restored from __doc__ """ block(self, shouldBlock: bool) -> None """ pass def changed(self): # real signature unknown; restored from __doc__ """ changed(self) -> bool """ return False def firstPartyUrl(self): # real signature unknown; restored from __doc__ """ firstPartyUrl(self) -> PySide2.QtCore.QUrl """ pass def initiator(self): # real signature unknown; restored from __doc__ """ initiator(self) -> PySide2.QtCore.QUrl """ pass def navigationType(self): # real signature unknown; restored from __doc__ """ navigationType(self) -> PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.NavigationType """ pass def redirect(self, url): # real signature unknown; restored from __doc__ """ redirect(self, url: PySide2.QtCore.QUrl) -> None """ pass def requestMethod(self): # real signature unknown; restored from __doc__ """ requestMethod(self) -> PySide2.QtCore.QByteArray """ pass def requestUrl(self): # real signature unknown; restored from __doc__ """ requestUrl(self) -> PySide2.QtCore.QUrl """ pass def resourceType(self): # real signature unknown; restored from __doc__ """ resourceType(self) -> PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType """ pass def setHttpHeader(self, name, value): # real signature unknown; restored from __doc__ """ setHttpHeader(self, name: PySide2.QtCore.QByteArray, value: PySide2.QtCore.QByteArray) -> None """ pass def __init__(self, *args, **kwargs): # real signature unknown pass @staticmethod # known case of __new__ def __new__(*args, **kwargs): # real signature unknown """ Create and return a new object. See help(type) for accurate signature. """ pass NavigationType = None # (!) real value is "<class 'PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.NavigationType'>" NavigationTypeBackForward = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.NavigationType.NavigationTypeBackForward NavigationTypeFormSubmitted = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.NavigationType.NavigationTypeFormSubmitted NavigationTypeLink = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.NavigationType.NavigationTypeLink NavigationTypeOther = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.NavigationType.NavigationTypeOther NavigationTypeRedirect = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.NavigationType.NavigationTypeRedirect NavigationTypeReload = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.NavigationType.NavigationTypeReload NavigationTypeTyped = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.NavigationType.NavigationTypeTyped ResourceType = None # (!) real value is "<class 'PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType'>" ResourceTypeCspReport = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypeCspReport ResourceTypeFavicon = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypeFavicon ResourceTypeFontResource = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypeFontResource ResourceTypeImage = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypeImage ResourceTypeLast = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypeLast ResourceTypeMainFrame = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypeMainFrame ResourceTypeMedia = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypeMedia ResourceTypeNavigationPreloadMainFrame = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypeNavigationPreloadMainFrame ResourceTypeNavigationPreloadSubFrame = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypeNavigationPreloadSubFrame ResourceTypeObject = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypeObject ResourceTypePing = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypePing ResourceTypePluginResource = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypePluginResource ResourceTypePrefetch = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypePrefetch ResourceTypeScript = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypeScript ResourceTypeServiceWorker = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypeServiceWorker ResourceTypeSharedWorker = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypeSharedWorker ResourceTypeStylesheet = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypeStylesheet ResourceTypeSubFrame = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypeSubFrame ResourceTypeSubResource = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypeSubResource ResourceTypeUnknown = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypeUnknown ResourceTypeWorker = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypeWorker ResourceTypeXhr = PySide2.QtWebEngineCore.QWebEngineUrlRequestInfo.ResourceType.ResourceTypeXhr
-
@jsulm
I don't know the answer to this, but what OP shows forQWebEngineUrlRequestInfo
andsetHttpHeader()
etc. is not code he has written, it is Python/PySide's way of showing howQWebEngineUrlRequestInfo()
is defined from Python point of view. You can assume it is actually calling the C++QWebEngineUrlRequestInfo
methods.@KHOSRO
I don't understand what you are doing when you showdef setHttpHeader(self, name, PySide6_QtCore_QByteArray=None, bytes=None, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ """ setHttpHeader(self, name: Union[PySide6.QtCore.QByteArray, bytes], value: Union[PySide6.QtCore.QByteArray, bytes]) -> None """ print('Hiiiiiiiiiiiiiii') pass
Where have you made the edit to add your
print()
? You are not supposed to be redefining (def
)setHttpHeader()
you are supposed to be calling it with whatever you want. Like you show withinfo.setHttpHeader(QByteArray(b'Cache-Control'), QByteArray(b'public,max-age=10000000'))
QWebEngineUrlRequestInfo::setHttpHeader()
is notvirtual
so you cannot override it (e.g. to add in yourprint()
), you can only call it. -
@JonB thank u for ur response
do u have idead
why QWebEngineUrlRequestInfo and setHttpHeader() not work when called
and can not change the header
in detail:
i have a client which is qwebengine
i send request url to server when fetch it i want change cache- control for custom purpose
after changing url , i want to show downloaded url -
I don't know anything about it, but my guess is that it is changing the header, but you are not seeing the effect you expect/desire. What evidence do you have that it is not setting your header? After calling
setHttpHeader()
if you are Qt 6.5+ try calling QHash<QByteArray, QByteArray> QWebEngineUrlRequestInfo::httpHeaders() const to at least make sure yourCache-Control
header is there. Or try sniffing/checking what is received at server side.