2010-11-13 4 views
0

Я изучаю основы сетевого программирования, и есть вопрос, который я не знаю, как ответить в моем задании.В Python, в чем разница между «библиотекой urllib» и «библиотекой сокетов»?

Как «библиотека urllib» отличается от «библиотеки сокетов» в Python? Как я могу объяснить это ясно?

ответ

8

urllib - намного более высокий уровень.

socket обеспечивает низкоуровневый доступ ко многим разным сокетам, которые вы можете использовать для связи по любому порту и протоколу. Например, вы можете использовать его для электронной почты, SSH, удаленного рабочего стола и т. Д. Вы также можете использовать его для прослушивания на порту (для сервера). Почти все сетевые библиотеки Python, включая urllib, используют socket как-то.

urllib специализируются на определенные виды использование розеток, а именно клиентская сторону HTTP (и, необязательно, TLS) и протоколы FTP, обычно (но не всегда), используя порты 80, 443, или 21.

+2

Кроме того, ' urllib' - клиент-только, а 'socket' поддерживает клиенты, серверы и что-то еще. Легче сказать, что все связанные с Интернетом вещи, которые вы делаете в Python, вероятно, проходят через «сокет». –

+0

@Mike, спасибо. Это и хорошие моменты. Я уточню свой ответ. –

+0

Вау, спасибо Мэтью и Майку. – stuck

Смежные вопросы