2013-07-18 70 views
0

我是新來的Python,我想使用GnuPG模塊(http://pythonhosted.org/python-gnupg/),以解密下載的PGP加密文件在Python(我認爲簡單的API調用應該是容易的,但我已經浪費了這個這麼多時間我想得到一些幫助)。蟒蛇的GnuPG解密錯誤

所以我可以從Python中的url下載一個文件,我試着用Gpg4win軟件對它進行解密,而且效果很好。當我嘗試使用gnupg模塊在Python中解密時,我得到了不同的錯誤。

理想我想從該URL下載該文件,並對其進行解密,然後將其存儲在一個文件中(而不是下載文件,保存它,decryting文件,保存新decypted文件)

這是我的原型代碼:

#test 

import urllib2 
import gnupg 

z='https://abcd_url' 
u = urllib2.urlopen(z) 
localFile = open('file_haha_test2', 'w+b') 
localFile.write(u.read()) 

gpg = gnupg.GPG() 
#gpg.encoding = 'utf-8' 

##gpg = gnupg.GPG(gnupghome='C:\\Program Files (x86)\\GNU\\Desktop\\GnuPG', 
##        gpgbinary='C:\\Program Files   (x86)\\GNU\\Desktop\\GnuPG\\gpg.exe', 
##        keyring='C:\\user\\Desktop\\Encryption keys\\secret-key-73F.asc') 


status = str(gpg.decrypt(u.read(), passphrase='hp', output='HAHAHAH.txt'))  

#status = str(gpg.decrypt_file(localFile, passphrase='hp',output='HAHAHAH.txt')) 

#status = gpg.decrypt_file(localFile) 

print status 

#localFile.close() 

我對不同的語法得到了不同的錯誤(你可以在上面看到的評論)。目前我沒有在屏幕上獲得任何輸出。我認爲它應該打印內容。

我真的想盡快地讓這項工作,任何幫助將不勝感激。

+0

將'u.read()'保存在一個變量中。我認爲第二個'u.read()==''' – User

+0

好吧,我試過了: link = u.read() ..並在下一行放置鏈接代替u.read()。仍然沒有變化 – user2441441

+0

,你做'localFile.write(鏈接)'? – User

回答