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

使用Socket创建服务器后用urllib访问遭拒:WinError10061错误排查

问题解答:Socket服务器与urllib客户端连接失败(WinError 10061)

核心原因有两个:

1. 服务器绑定地址与客户端连接地址不匹配

你的Socket服务器绑定的是10.34.9.130,这意味着它只会监听这个特定IP的8080端口。而客户端用http://localhost:8080发起连接,localhost对应的是本地回环地址127.0.0.1,和服务器绑定的IP完全不同,所以服务器会直接拒绝来自127.0.0.1的连接请求,触发WinError 10061。

解决方式二选一:

  • 修改服务器的HOST为"0.0.0.0"(监听所有可用网络接口)或者"127.0.0.1"(仅监听本地回环);
  • 修改客户端的连接地址为http://10.34.9.130:8080(确保客户端和服务器在同一网络)。

2. 协议不兼容

你的服务器是基于原始TCP Socket实现的,只会发送一段简单的字节数据,但客户端使用的urllib.request.urlopen是HTTP客户端,它会向服务器发送标准的HTTP请求报文(比如GET / HTTP/1.1)。你的原始Socket服务器完全不懂HTTP协议,即使解决了地址问题,客户端也会因为得不到合法的HTTP响应而报错。

解决方式二选一:

  • 保持原始Socket服务器,客户端改用Socket连接(而非urllib);
  • 将服务器改成HTTP服务器,适配urllib的HTTP请求。

修改示例代码

方案1:修正地址的原始Socket服务端+Socket客户端

服务端代码:

import socket

HOST = "127.0.0.1"  # 改为本地回环地址
PORT = 8080

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.bind((HOST, PORT))
    s.listen()
    conn, addr = s.accept()
    with conn:
        print(f"Connected by {addr}")
        data = "this mf got connected".encode()
        conn.sendall(data)
        print(data)

客户端代码:

import socket

HOST = "127.0.0.1"
PORT = 8080

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect((HOST, PORT))
    data = s.recv(1024)
    print(data.decode())

方案2:HTTP服务器+原urllib客户端

HTTP服务端代码:

from http.server import BaseHTTPRequestHandler, HTTPServer

HOST = "127.0.0.1"
PORT = 8080

class MyHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        self.send_response(200)
        self.send_header('Content-type', 'text/plain')
        self.end_headers()
        self.wfile.write(b"this mf got connected")

if __name__ == "__main__":
    server = HTTPServer((HOST, PORT), MyHandler)
    print(f"Server running on http://{HOST}:{PORT}")
    try:
        server.serve_forever()
    except KeyboardInterrupt:
        server.server_close()
        print("Server stopped.")

此时原urllib客户端代码无需修改即可正常运行。


内容的提问来源于stack exchange,提问作者Mayank Kumar Gupta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 03:52:47