def createRequest(self, op, req, outgoingData=None): # override url = req.url() #print url #if url.scheme() == 'https' and url.host() in ('www.dmm.com', 'dmm.com'): # path = url.path() # if path.startswith('/js/') or path.startswith('/css/'): # url.setScheme('http') # downgrade to http # req.setUrl(url) # dprint("downgrade https to http:", url) #print url newurl = _WbNetworkAccessManager.getBlockedUrl(url) if newurl: req = QNetworkRequest(newurl) else: newurl = proxy.toproxyurl(url) if newurl and newurl != url: req = QNetworkRequest(req) # since request tis constent req.setUrl(newurl) _WbNetworkAccessManager.setRequestHeaders(req) reply = super(WbNetworkAccessManager, self).createRequest(op, req, outgoingData) #if url.host().lower().endswith('dmm.co.jp'): reply.setUrl(url) # restore the old url reply.setProperty(REQ_PROXY_URL, url) #print newurl return reply #else: # print url _WbNetworkAccessManager.setRequestHeaders(req) return super(WbNetworkAccessManager, self).createRequest(op, req, outgoingData)
def test_connection(self): self.message.setText( '<span style="font-size: 10px; color: #000000;">' + 'Verbindung wird getestet.' + '</span>') self.nam.finished.connect(self.test_reply) self.nam.sslErrors.connect(self.ssl_errors) ssl_config = QSslConfiguration().defaultConfiguration() ssl_config.setCiphers(QSslSocket().supportedCiphers()) if self.certificate: certificate = QSslCertificate(encoded=self.certificate, format=QSsl.Pem) ssl_config.setCaCertificates([certificate]) else: ssl_config.setCaCertificates([]) url = QUrl(self.url_edit.text()) url.setPath("/".join( filter(bool, (url.path() + "/ajax/read.php").split("/")))) request = QNetworkRequest(url) request.setSslConfiguration(ssl_config) request.setRawHeader( "Authorization", "Basic ".encode('utf-8') + b64encode( (self.username_edit.text() + ":" + self.password_edit.text()).encode('utf-8'))) request.setHeader(QNetworkRequest.ContentTypeHeader, "application/x-www-form-urlencoded") self.replies.add(self.nam.post(request, QByteArray()))
def open(self, address, method='get', headers={}, auth=None, body=None, default_popup_response=None): """Opens a web page. :param address: The resource URL. :param method: The Http method. :param headers: An optional dict of extra request hearders. :param auth: An optional tuple of HTTP auth (username, password). :param body: An optional string containing a payload. :param default_popup_response: the default response for any confirm/ alert/prompt popup from the Javascript (replaces the need for the with blocks) :return: Page resource, All loaded resources. """ body = body or QByteArray() try: method = getattr(QNetworkAccessManager, "%sOperation" % method.capitalize()) except AttributeError: raise Error("Invalid http method %s" % method) request = QNetworkRequest(QUrl(address)) request.CacheLoadControl(0) for header in headers: request.setRawHeader(header, headers[header]) self._auth = auth self._auth_attempt = 0 # Avoids reccursion self.main_frame.load(request, method, body) self.loaded = False if default_popup_response is not None: Ghost._prompt_expected = (default_popup_response, None) Ghost._confirm_expected = (default_popup_response, None) return self.wait_for_page_loaded()
def testRequestCtor(self): request = QNetworkRequest(QUrl('http://example.com/movie.mov')) request.setAttribute(QNetworkRequest.User, 1234) media = QMediaContent(request) self.assertEqual(media.canonicalUrl(), QUrl('http://example.com/movie.mov')) self.assertEqual(media.canonicalResource().request(), request) self.assertEqual(media.canonicalResource().url(), QUrl('http://example.com/movie.mov'))
def get(self, url, local_path): print "url", url print "local_path", local_path self.url = url self.local_path = local_path self.mb = DownloadMessageBox(self.parent()) self.mb.buttonClicked.connect(self.handleCancel) self.mb.rejected.connect(self.handleReject) mgr = QNetworkAccessManager(self) mgr.finished.connect(self.handleFinished) self.reply = mgr.get(QNetworkRequest(QUrl(url))) self.reply.downloadProgress.connect(self.mb.updateProgress) self.mb.exec_()
def get(self, url, path): """ @param url unicode or QUrl @param unicode path @return bool whether succeeded """ dprint('enter:', url) d = self.__d d.stop() if d.openFile(path): if not isinstance(url, QUrl): url = QUrl(url) d.request = QNetworkRequest(url) ok = d.start() else: ok = False dprint('leave: ret = %s' % ok) return ok
def _make_request(self, url): request = QNetworkRequest() request.setUrl(QUrl(url)) return request
def do_download(self, dl_url): url = QUrl(dl_url) req = QNetworkRequest(url) reply = self.manager.get(req) self.current_downloads[reply] = dl_url