【问题标题】:how to use socket fetch webpage use python如何使用套接字获取网页使用python
【发布时间】:2012-12-17 22:24:29
【问题描述】:

我知道使用 urllib2 获取网页很容易, 但我想知道是否有使用套接字实现获取网页功能的示例, 我google了很多,我没有找到任何例子,有人可以帮忙吗?

【问题讨论】:

  • 你为什么要这样做?
  • blog.tonycode.com/tech-stuff/http-notes/… 是一个很好的例子,说明如何通过 telnet 执行原始请求,可以直接转换为 python 套接字发送。
  • http是基于socket流协议的,所以如果我知道如何在urllib2下实现它,我就可以知道更多关于http的知识和背景

标签: python http sockets


【解决方案1】:

这是我整理的。它不会捕获异常来处理错误。 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)   

【讨论】:

  • 我一直想知道套接字示例是什么样的。谢天谢地,我使用 requests 或 urllib。可能会研究学习套接字,这样我就可以比现在更欣赏它。
  • 它不捕获异常并不意味着它不会,您应该将您的连接代码放在try catch块下以避免它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-13
  • 2022-01-26
  • 1970-01-01
  • 2015-11-25
  • 1970-01-01
相关资源
最近更新 更多