AttributeError: module 'socket' has no attribute 'recv'
时间: 2023-08-03 12:05:16 浏览: 200
这个错误是由于在引用\[3\]中的代码中,使用了错误的变量名导致的。正确的代码应该是使用了变量名s而不是data。所以正确的代码应该是:
```python
import socket
# 创建socket建立连接
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(('www.sina.com.cn',80))
# 发送数据
s.send(b'GET / HTTP/1.1\r\nHost: www.sina.com.cn\r\nConnection: close\r\n\r\n')
# 接收数据
buffer = \[\]
while True:
# 每次最多接受1k字节
d = s.recv(1024)
if d:
buffer.append(d)
else:
break
data = b''.join(buffer)
s.close()
header, html = data.split(b'\r\n\r\n', 1)
print(header.decode('utf-8'))
# 把接收数据写入文件:
with open('sina.html', 'wb') as f:
f.write(html)
```
这样就可以避免AttributeError: module 'socket' has no attribute 'recv'的错误了。
#### 引用[.reference_title]
- *1* *2* [AttributeError: partially initialized module ‘socket‘ has no attribute ‘AF_INET‘ (most likely ...](https://blog.csdn.net/cxh20777/article/details/129748277)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [AttributeError: 'module' object has no attribute 'AF_INET'处理办法——python](https://blog.csdn.net/wzh111wzh/article/details/79097142)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]