341 |
341 |
342 if not self.__loaded: |
342 if not self.__loaded: |
343 self.__load() |
343 self.__load() |
344 |
344 |
345 # determine the url |
345 # determine the url |
346 refererHeader = request.rawHeader("Referer") |
346 refererHeader = request.rawHeader(b"Referer") |
347 if refererHeader.isEmpty(): |
347 if refererHeader.isEmpty(): |
348 return |
348 return |
349 url = QUrl.fromEncoded(refererHeader) |
349 url = QUrl.fromEncoded(refererHeader) |
350 url = self.__stripUrl(url) |
350 url = self.__stripUrl(url) |
351 |
351 |
364 webPage = request.attribute(QNetworkRequest.User + 100) |
364 webPage = request.attribute(QNetworkRequest.User + 100) |
365 if webPage is None: |
365 if webPage is None: |
366 return |
366 return |
367 |
367 |
368 # determine the requests content type |
368 # determine the requests content type |
369 contentTypeHeader = request.rawHeader("Content-Type") |
369 contentTypeHeader = request.rawHeader(b"Content-Type") |
370 if contentTypeHeader.isEmpty(): |
370 if contentTypeHeader.isEmpty(): |
371 return |
371 return |
372 multipart = contentTypeHeader.startsWith("multipart/form-data") |
372 multipart = contentTypeHeader.startsWith(b"multipart/form-data") |
373 if multipart: |
373 if multipart: |
374 boundary = contentTypeHeader.split(" ")[1].split("=")[1] |
374 boundary = contentTypeHeader.split(" ")[1].split("=")[1] |
375 else: |
375 else: |
376 boundary = None |
376 boundary = None |
377 |
377 |
467 args = self.__extractMultipartQueryItems(data, boundary) |
467 args = self.__extractMultipartQueryItems(data, boundary) |
468 else: |
468 else: |
469 if qVersion() >= "5.0.0": |
469 if qVersion() >= "5.0.0": |
470 from PyQt5.QtCore import QUrlQuery |
470 from PyQt5.QtCore import QUrlQuery |
471 argsUrl = QUrl.fromEncoded( |
471 argsUrl = QUrl.fromEncoded( |
472 QByteArray("foo://bar.com/?" + QUrl.fromPercentEncoding( |
472 QByteArray(b"foo://bar.com/?" + QUrl.fromPercentEncoding( |
473 data.replace(b"+", b"%20")))) |
473 data.replace(b"+", b"%20")).encode("utf-8"))) |
474 encodedArgs = QUrlQuery(argsUrl).queryItems() |
474 encodedArgs = QUrlQuery(argsUrl).queryItems() |
475 else: |
475 else: |
476 argsUrl = QUrl.fromEncoded( |
476 argsUrl = QUrl.fromEncoded( |
477 QByteArray("foo://bar.com/?" + data.replace(b"+", b"%20"))) |
477 QByteArray(b"foo://bar.com/?" + data.replace(b"+", b"%20")) |
|
478 ) |
478 encodedArgs = argsUrl.queryItems() |
479 encodedArgs = argsUrl.queryItems() |
479 args = set() |
480 args = set() |
480 for arg in encodedArgs: |
481 for arg in encodedArgs: |
481 key = arg[0] |
482 key = arg[0] |
482 value = arg[1] |
483 value = arg[1] |