Python 多线程在内网通过接口下载图片时,报错 urlopen error[WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。

2018-08-08 09:31:34 +08:00
 wsds
urlopen error[WinError 10048] 通常每个套接字地址(协议 /网络地址 /端口)只允许使用一次。

这是怎么回事,各线程抢了端口了吗? 这样搞了一下,也没用

s = requests.Session()
s.keep_alive = False

每个请求,用完后也 r.close() 了, 也没用,不知道啥原因,没见过这个错误啊, 有 v 友知道的吗

2544 次点击
所在节点    Python
11 条回复
hustlibraco
2018-08-08 10:17:13 +08:00
直接在 cmd 里运行 python 脚本,不要在 IDE 里运行
GoLand
2018-08-08 10:21:20 +08:00
看图片是不是同一个域名下的,是同一个域名下为啥要关掉 keep-alive ?直接长连接不就好,如果不是一个域名下的就直接短连接吧。
wsds
2018-08-08 10:28:47 +08:00
@hustlibraco 就是在 cmd 中运行的
wsds
2018-08-08 10:29:32 +08:00
@GoLand requests 默认是开着的,就是出现了这个 10048,所以才关了,但也没用
blodside
2018-08-08 10:34:00 +08:00
把 python 进程先都关了
wsds
2018-08-08 11:06:29 +08:00
@blodside 只有这一个 python 进程,没有其他的啊,应该是多线程的问题
hustlibraco
2018-08-08 11:27:31 +08:00
netstat -ano 看一下,是不是有些进程没有正常关闭,端口被占光了
beastk
2018-08-10 00:47:15 +08:00
线程数设置为多少,加了 sleep 了吗?
wsds
2018-08-10 17:26:50 +08:00
@beastk 线程数是根据参数列表自动设置的,目前是 9 个,没加 sleep
victor11
2020-09-28 09:45:35 +08:00
同问 我也遇到这问题 了
victor11
2020-09-28 09:46:06 +08:00
多进程 没问题 多线程就会出现 这种错误

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/477814

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX