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') passit can not print 'Hiiiiiii' -
Then that means that
if info.resourceType() == QWebEngineUrlRequestInfo.ResourceTypeImageis never true.
-
Then that means that
if info.resourceType() == QWebEngineUrlRequestInfo.ResourceTypeImageis 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 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 -
@KHOSRO Sorry, I don't really understand what you mean.
Is setHttpHeader() called or not?And please format your code properly.
-
@KHOSRO Sorry, I don't really understand what you mean.
Is setHttpHeader() called or not?And please format your code properly.
-
@jsulm
I don't know the answer to this, but what OP shows forQWebEngineUrlRequestInfoandsetHttpHeader()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++QWebEngineUrlRequestInfomethods.@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') passWhere 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 notvirtualso 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-Controlheader is there. Or try sniffing/checking what is received at server side.