2009-08-20 2 views
2
import urllib 

response = urllib.urlopen('http://pool.sks-keyservers.net/') 
print 'RESPONSE:', response 
print 'URL  :', response.geturl() 

headers = response.info() 
print 'DATE :', headers['date'] 
print 'HEADERS :' 
print '---------' 
print headers 

data = response.read() 
print 'LENGTH :', len(data) 
print 'DATA :' 
print '---------' 
print data 

이 코드를 통해 일부 웹 페이지 정보 및 내용을 볼 수 있습니다. 실제로 내가 파이썬 함수를 사용하여 공개 키 서버에서 공개 키를 가져 오는 방법을 쿼리했습니다.공개 키 서버에서 공개 키를 가져 오는 방법에 대한 질의를 관련성이 있음

+0

? http://stackoverflow.com/questions/1254425/python-api-to-fetch-the-public-key-from-public-key-server http://stackoverflow.com/questions/1277281/how-to-fetch -public-key-from-public-key-server http://stackoverflow.com/questions/1299453/retrieve-key-from-key-server –

+0

_first_ 질문을 편집하고 자세히 작성하십시오. –

답변

4

This spec 당신을 도울 것이고, 반복적으로 같은 질문을하는 걸 멈추십시오. :) 기본적으로 핵심 서버에 HTTP GET 요청을 수행해야합니다. 대부분의 주요 서버는 TCP 포트 11371에서 작동하므로 방화벽을 통과시켜야합니다.

http://pool.sks-keyservers.net:11371/pks/lookup?op=get&search=0x1278A1862492D908&options=mr

응답은 열쇠이다 :

예를 들어,이 URL은 당신에게 하나님의 공개 키를 제공 할 것입니다. 파이썬에서

:

import urllib 
f = urllib.urlopen('http://pool.sks-keyservers.net:11371/pks/lookup?op=get&search=0x1278A1862492D908&options=mr') 
data = f.read() 
print data 

-----BEGIN PGP PUBLIC KEY BLOCK----- 
Version: SKS 1.1.0 

mQGiBD/dywoRBADkaddBEedMhFHGH3wKORuOIDFufSDERmlm2ktj3ma+GhfwvnuvvpAj+QYl 
ANh1K86Mm5k0dGOlhZwIr1zB3cIoNqt7TJ62v8w6mc0BA8UWzWJp0i6dHPa/qeeFFC53B8U1 
h3FlPrmQGcVeV+hjOPFU7ANDSDm3tduad7NRxAst7QCg/8o++2BaAlTnbMB+Xfo23uEEc6UE 
AK0vD4EUPLfU5snfow1zUPXQUDalOcUP6RIhbi6yxKRFAIWI+7QgNPZf/Q2CFIRWsXKmW/ly 
IDSJgs5ruB+Yj8gmBZlrn5KMmW3EcEoHAhOP+ONZAIOb2LsaAjHjHOuefhlIr1T3gng+kLoD 
3Yfy2WTugBizeNybAd2nfZyOJhfWA/4xTfg+Hbcb9n+8sEqgiuyQJEID38Q3FDmwSzRfBMbO 
JFrf8t/VHPjB7ZSdshl9GM86TXYnWjspzAjjQB8fxLgIim2mC0T46aRNdE0l2ozxRmS95nr7 
YuHVA73vcI5tRn6qa9yLXew1YeN3YWxRfIW2AZG7bkRcXOIdl7tO9KiVpbQUR29kIDxHb2RA 
aGVhdmVuLmNvbT6IWAQQEQIAGAUCP93LCggLAwkIBwIBCgIZAQUbAwAAAAAKCRASeKGGJJLZ 
CAp7AJ9WqGhOnysRt/b7p+EuC86lhs3iBgCdEVwLgEwcc63OVbBxxFF6vyiNuNG5Ag0EP93L 
ChAIAPZCV7cIfwgXcqK61qlC8wXo+VMROU+28W65Szgg2gGnVqMU6Y9AVfPQB8bLQ6mUrfdM 
ZIZJ+AyDvWXpF9Sh01D49Vlf3HZSTz09jdvOmeFXklnN/biudE/F/Ha8g8VHMGHOfMlm/xX5 
u/2RXscBqtNbno2gpXI61Brwv0YAWCvl9Ij9WE5J280gtJ3kkQc2azNsOA1FHQ98iLMcfFst 
jvbzySPAQ/ClWxiNjrtVjLhdONM0/XwXV0OjHRhs3jMhLLUq/zzhsSlAGBGNfISnCnLWhsQD 
GcgHKXrKlQzZlp+r0ApQmwJG0wg9ZqRdQZ+cfL2JSyIZJrqrol7DVekyCzsAAgIH/j7FzAvF 
jCmq3vXWnDOymAfJgTNyvYB67y0Xu2HXqGlXe92Gkxcf22w4X63TkZqMy7nXRbGc9WI2sr57 
oSTJq3+42WHnVQjd9W10TFIgnH2YkuSC3KckMB5hC1yM9wqaIXNhfxXmq3B4V3UuKLyM3nQi 
SgWb9+kST3FxcGWXRB0Ec/tIJ0cNeFtu5IrYDNkRbcHep/BuwXEARUIpjlUlG7NPIaY4U03I 
/GSW7/IrG5/H7EsVWQzxRpcC6DcJjxJv2lIATvraXHwNpllOlPHFb9aABHmTOX7QLrG4FXTP 
ReH6rjf+w5tqJilTMwYdsZIV13U7+NBwVZHFbUdYMmqhOTiITAQYEQIADAUCP93LCgUbDAAA 
AAAKCRASeKGGJJLZCMqJAKCzS0hv0EY/GYdUKOOf3XiiZpu3qwCg9kFBm/GO+t073SsHkedu 
HT0F6po= 
=NhFO 
-----END PGP PUBLIC KEY BLOCK----- 
1

사용 http://pypi.python.org/pypi/python-hkp

파이썬 HPK 클라이언트.

사용 예 : 당신은 왜 계속해서 또 다시 같은 질문을 보관하지

>>> from hkp import KeyServer 
>>> serv = KeyServer('http://pool.sks-keyservers.net') 
>>> serv.search('Dmitry Gladkov') 
[Key 28DFA7EC RSA (Encrypt or Sign), Key 473C57D9 RSA (Encrypt or Sign)] 
>>> serv.search('Dmitry Gladkov')[0].identities 
[Identity Dmitry Gladkov (dgl) <[email protected]>] 
관련 문제