2013-01-03 41 views
5

我知道使用urllib2来获取网页很容易,但我想知道是否有使用套接字实现获取网页功能的样本, 我谷歌很多,我没有找到在这个例子中,任何人都可以帮忙吗?如何使用套接字获取网页使用python

+0

你为什么要这么做? – JeffS

+0

http://blog.tonycode.com/tech-stuff/http-notes/making-http-requests-via-telnet是如何通过telnet执行原始请求的体面的例子,它可以直接转换为'python'套接字发送。 – sean

+0

http是基于套接字流协议,所以如果我能知道如何在urllib2下实现它,我可以知道更多关于http – maolingzhi

回答

10

这是我鞭打的东西。它没有捕获异常来处理错误。 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) 
+0

的知识和背景真棒,正是我所需要的,谢谢 – 1Canuck16

+0

我总是想知道什么套接字示例看起来像。谢天谢地,我使用请求或urllib。可能会研究学习套接字,所以我可以比现在更赞赏它。 –

相关问题