来自PyQt-GUI的HTTP POST请求?

时间:2014-02-03 13:56:39

标签: python pyqt4

我想用PyQt设计器创建一个简单的gui来向VirusTotal服务发送一些网址。这是一个简单的脚本,每分钟可发送4个网址,即:

import simplejson
import urllib
import urllib2
url = "https://www.virustotal.com/vtapi/v2/url/scan"
parameters = {"url": "http://www.virustotal.com",
...               "apikey":     "1fe0ef5feca2f84eb450bc3617f839e317b2a686af4d651a9bada77a522201b0"}
data = urllib.urlencode(parameters)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
json = response.read()
print json
{"response_code": 1,
 "verbose_msg": "Scan request successfully queued, come back later for the report",

 "scan_id": "1db0ad7dbcec0676710ea0eaacd35d5e471d3e11944d53bcbd31f0cbd11bce31-1320752364",

 "scan_date": "2014-01-08 11:39:24",

"url": "http://www.virustotal.com/",

"permalink": "http://www.virustotal.com/url/1db0ad7dbcec0676710ea0eaacd35d5e471d3e11944d53bcbd31f0cbd11bce31/analysis/1320752364/"}

我如何制作一个gui,用户可以将网址和他的api密钥放入gui并将请求发送给virustotal。

我只需要一些指导而不是整个解决方案。

1 个答案:

答案 0 :(得分:1)

好吧直截了当: -

1)使用QtDesigner将gui元素拖放到窗口小部件上,保存它。例如virustotal.ui

2)使用pyuic4将ui文件转换为python文件。(" pyuic4 virustotal.ui -o virustotal.py")

3)然后将上面给出的代码复制到文件中。

4)感知来自按钮的点击信号,并为其指定一个包装参数字典的插槽,然后照常执行。

self.lineEdit1 = QtGui.QLineEdit(self)    #URL
self.lineEdit2 = QtGui.QLineEdit(self)    # API KEY
self.pushButton = QtGui.QPushButton(self)   # SEND BUTTON
QtCore.QObject.connect(self.pushButton , QtCore.SIGNAL("clicked()") , self.doIt)

def doIt(self):
    parameters = {"url": str(self.lineEdit1.text()),"apikey": str(self.lineEdit2.text())}
    data = urllib.urlencode(parameters)
    req = urllib2.Request(url, data)
    response = urllib2.urlopen(req)
    json = response.read()
    print json

这是代码运行方式的基本布局,进一步的细节必须根据您的需要进行。