You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中向Google服务器发送POST请求?现有代码求助修改

修改Python代码实现向Google发送POST请求

要把你的代码改成向Google发送POST请求,需要调整几个关键部分:目标主机、请求方法、添加POST必需的HTTP头,以及构造请求体。以下是修改后的完整代码:

import socket

# 目标主机改为Google
HOST = 'www.google.com'
PORT = 80

# 创建socket连接
sock = socket.socket()
sock.connect((HOST, PORT))

# 构造POST请求的参数(示例为搜索关键词)
post_data = b'q=python+post+request'
# 计算请求体长度
content_length = len(post_data)

# 构造完整的POST请求
post_request = f"""POST /search HTTP/1.1
Host: {HOST}
Content-Type: application/x-www-form-urlencoded
Content-Length: {content_length}

""".encode('utf-8') + post_data

# 发送请求
sock.send(post_request)

# 接收响应
response = sock.recv(4096)  # 增大缓冲区,避免截断响应
print(response.decode('utf-8', errors='ignore'))

# 关闭连接
sock.close()

关键修改说明:

  • 替换目标主机为www.google.com,确保请求发送到正确的服务器。
  • 将请求方法从GET改为POST,并指定Google搜索接口路径/search(这是Google接受搜索请求的常见路径)。
  • 添加Content-Type头,告诉服务器请求体的格式是表单编码类型(application/x-www-form-urlencoded)。
  • 添加Content-Length头,让服务器知道请求体的字节长度,这是POST请求必需的头之一。
  • 构造了简单的请求体q=python+post+request,模拟搜索关键词的提交。
  • 增大了接收缓冲区到4096字节,避免因响应过大被截断,同时用decode处理响应内容,忽略编码错误保证输出可读性。
  • 重命名了变量socket为sock,避免覆盖导入的socket模块。

内容的提问来源于stack exchange,提问作者YxngJay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 05:24:21