...
코드
def customuseragent(url):
print 'called for %s' % url
return 'custom ua'
#inside a class
self.webkit = QtWebKit.QWebView()
self.webkit.page().userAgentForUrl = customuseragent
self.webkit.load(QtCore.QUrl('http://www.whatsmyuseragent.com/'))
전제 조건 종속성
from PyQt4.QtWebKit import * # Import all from QtWebKit
이전 지시문을 사용하면 QtWebKit.QWebKit() 개체와 메서드를 상속 할 수 있습니다. 그러나 사용자 에이전트 ("웹 브라우저")를 지정할 수있는 하나 이상의 구성 요소가 누락되었습니다. 그래서 기술적으로 위의 라인과 동일 나는 QWebView.load 방법에 대한 서명을 썼다 위에
QWebView.load(QNetworkRequest var) # Where var is a variable object of QNetworkRequest
그냥 그래서 당신은
QtCore.QUrl('http://www.whatsmyuseragent.com/')
를 호출 할 때 QNetworkRequest을 사용하고 있는지 어떻게 알 수 있습니다 다음
:
위의 행을 포함하기 위해
self.request = QNetworkRequest()
self.request.setUrl(QUrl(url))
가져올 필요 0
from PyQt4.QtNetwork import * # Just import all to be lazy
또는
from PyQt4.QtNetwork import QNetworkRequest # This is actually the origin of QNetworkRequest
Connect는 점
좋아,의 함께 지금 모든 당겨 할 수 있습니다. 우리는 QUrl이 QNetworkRequest() 객체이며 QNetworkRequest를 사용하여 URL을 지정할 수 있음을 알고 있습니다. 마지막으로 사용자 에이전트를 설정하는 방법을 알아야합니다.
사용자 에이전트는 setRawHeader (문자열, 문자열) DONE QNetworkRequest
self.request.setRawHeader("User-Agent","You/desired/user/agent")
self.request.load(self.request) #load the QNetworkRequest object variable to .load()
하는 방법을 사용하여 설정됩니다!
최종 초안
from PyQt4.QtWebKit import *
from PyQt4.QtNetwork import *
USER_AGENT = "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0.1"
def customuseragent(url):
print 'called for %s' % url
return 'custom ua'
#inside a class
# class WebRequest(QWebView) ## the definition of the class uncomment to make use of the inheritance.
## from this tutorial
self.request = QNetworkRequest()
self.request.setUrl(QUrl(url))
self.request.setRawHeader("User-Agent",USER_AGENT)
## modified version of the original design
self.webkit = QtWebKit.QWebView()
self.webkit.page().userAgentForUrl = customuseragent
self.webkit.load(self.request)
나는이 당신을 도와 바랍니다. 나는 당신이 기본을 얻는다 고 생각하기 때문에 몇 가지 사항을 생략했다.
참조 : http://stackoverflow.com/questions/5317924/how-do-i-set-the-user-agent-for-a-qnetworkrequest-in-pyqtwebkit/7878683#7878683 –