小编use*_*720的帖子

使用 Python 实现带有 Sockets(不带 http 库)的 HTTP 客户端

出于教育目的,但没有任何重要性,我想实现一个脚本,可以发出简单的 HTTP 请求并在控制台上显示答案的内容(以纯文本形式)。我用这段代码实现了它:

import socket
import sys

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

server_address = ('localhost', 8080)
print >>sys.stderr, 'connecting to %s port %s' % server_address
sock.connect(server_address)

message = 'GET /php.php HTTP/1.1\r\n'
message += 'Host: localhost:8080\r\n\r\n'
print >>sys.stderr, 'sending "%s"' % message
sock.sendall(message)

data = sock.recv(10000000)
print >>sys.stderr, 'received "%s"' % data

sock.close()
Run Code Online (Sandbox Code Playgroud)

我只是构建 HTTP 请求,将其发送到服务器,然后等待答复。

现在问题来了:我不知道如何阅读整个答案,我知道有一个标题是“content-lengt”(让我们假设它永远存在)。我怎样才能不读答案的全部内容呢sock.recv (1000000000000000000)

python http request

3
推荐指数
1
解决办法
6036
查看次数

标签 统计

http ×1

python ×1

request ×1