如何使用套接字获取网页使用python

如何使用套接字获取网页使用python,python,http,sockets,Python,Http,Sockets,我知道使用urllib2获取网页很容易, 但我想知道是否有一个用于socket实现获取网页功能的示例, 我在谷歌上搜索了很多,我没有发现任何例子,有人能帮我吗?这里有一些我突然想到的东西。它不会捕获异常来处理错误。YMMV import socket request = b"GET / HTTP/1.1\nHost: stackoverflow.com\n\n" s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(("s

我知道使用urllib2获取网页很容易, 但我想知道是否有一个用于socket实现获取网页功能的示例,
我在谷歌上搜索了很多,我没有发现任何例子,有人能帮我吗?

这里有一些我突然想到的东西。它不会捕获异常来处理错误。YMMV

import socket
request = b"GET / HTTP/1.1\nHost: stackoverflow.com\n\n"
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("stackoverflow.com", 80))
s.send(request)
result = s.recv(10000)
while (len(result) > 0):
    print(result)
    result = s.recv(10000)   

你为什么要这样做?是一个很好的例子,说明了如何通过telnet执行原始请求,telnet可以直接转换为
python
socket sends。http基于套接字流协议,因此如果我知道如何在urllib2下实现它,那么我就可以了解更多关于httpI的知识和背景,我总是想知道套接字示例是什么样子。谢天谢地,我使用了请求或urllib。可能会研究学习套接字,以便我比现在更欣赏它。它不捕获异常并不意味着它不会,您应该将连接代码放在try-catch块下以避免它。