gpt4 book ai didi

Python:无法使用 SSL 套接字发出 HTTPS 请求

转载 作者:太空宇宙 更新时间:2023-11-03 13:49:13 24 4
gpt4 key购买 nike

代码告诉自己它做了什么。在我测试的所有页面上,我都得到状态代码 400。我也尝试指定证书或 SSL 版本,但结果是一样的。我尝试将 closedkeep-alive 作为发送的消息的 Connection

import ssl,socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
page='google.com'
s=ssl.wrap_socket(s)
s.connect((page,443))
s.send(("GET / HTTP/1.1\r\nHost: "+page+"/\r\n\r\n").encode('UTF-8'))
while True:
data=s.recv(4096)
print(data)

编辑:我从 Host 中删除了 /,这有点帮助,但现在我得到了 301 Moved

最佳答案

这不是 SSL 的问题。事实上,代码 400 表示 SSL 工作正常,否则您将无法首先获得 HTTP 状态代码。

问题是您声称的 HTTP 请求不是完全正确的 HTTP 请求,服务器正确地提示请求错误。您将 google.com/ 指定为 Host 字段中的域,而不是 google.com

除此之外,您无法正确阅读响应,因为如果没有更多数据可用,您不会停止阅读,即这是一个无限循环。

Edit: I removed the / from the Host and it kinda helped, but now I get 301 Moved.

虽然只是将问题更改为不同的内容(即使其成为移动目标)是一种糟糕的风格,但代码 301 实际上是服务器的预期正确答案。它将您从 https://google.com 重定向到 https://www.google.com/

关于Python:无法使用 SSL 套接字发出 HTTPS 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58961224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com