2010-11-13 35 views

Répondre

8

urllib est beaucoup plus haut niveau.

socket offre un accès de bas niveau à de nombreux types de sockets, que vous pouvez utiliser pour communiquer sur n'importe quel port et protocole. Par exemple, vous pouvez l'utiliser pour le courrier électronique, SSH, bureau à distance, etc. Vous pouvez également l'utiliser pour écouter sur un port (pour un serveur). Presque toutes les bibliothèques réseau Python, y compris urllib, utilisent socket en quelque sorte.

urllib est spécialisée à des utilisations particulières de prises, à savoir du côté client du protocole HTTP (et éventuellement TLS) et des protocoles FTP, généralement (mais pas toujours) en utilisant les ports 80, 443 ou 21.

+2

En outre, ' urllib' est client seulement, alors que 'socket' supporte les clients, les serveurs et tout le reste. Il est plus facile de dire que tout ce que vous faites sur Internet en Python passe probablement par 'socket'. –

+0

@Mike, merci. Ce sont deux bons points. Je vais mettre à jour ma réponse. –

+0

Wow, merci Mathew et Mike beaucoup. – stuck