V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
wsds
V2EX  ›  Python

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

  •  
  •   wsds · 2018-08-08 09:31:34 +08:00 · 2538 次点击
    这是一个创建于 2288 天前的主题,其中的信息可能已经有所发展或是发生改变。
    urlopen error[WinError 10048] 通常每个套接字地址(协议 /网络地址 /端口)只允许使用一次。
    

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

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

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

    11 条回复    2020-09-28 09:46:06 +08:00
    hustlibraco
        1
    hustlibraco  
       2018-08-08 10:17:13 +08:00
    直接在 cmd 里运行 python 脚本,不要在 IDE 里运行
    GoLand
        2
    GoLand  
       2018-08-08 10:21:20 +08:00 via Android
    看图片是不是同一个域名下的,是同一个域名下为啥要关掉 keep-alive ?直接长连接不就好,如果不是一个域名下的就直接短连接吧。
    wsds
        3
    wsds  
    OP
       2018-08-08 10:28:47 +08:00
    @hustlibraco 就是在 cmd 中运行的
    wsds
        4
    wsds  
    OP
       2018-08-08 10:29:32 +08:00
    @GoLand requests 默认是开着的,就是出现了这个 10048,所以才关了,但也没用
    blodside
        5
    blodside  
       2018-08-08 10:34:00 +08:00
    把 python 进程先都关了
    wsds
        6
    wsds  
    OP
       2018-08-08 11:06:29 +08:00
    @blodside 只有这一个 python 进程,没有其他的啊,应该是多线程的问题
    hustlibraco
        7
    hustlibraco  
       2018-08-08 11:27:31 +08:00
    netstat -ano 看一下,是不是有些进程没有正常关闭,端口被占光了
    beastk
        8
    beastk  
       2018-08-10 00:47:15 +08:00 via iPhone
    线程数设置为多少,加了 sleep 了吗?
    wsds
        9
    wsds  
    OP
       2018-08-10 17:26:50 +08:00
    @beastk 线程数是根据参数列表自动设置的,目前是 9 个,没加 sleep
    victor11
        10
    victor11  
       2020-09-28 09:45:35 +08:00
    同问 我也遇到这问题 了
    victor11
        11
    victor11  
       2020-09-28 09:46:06 +08:00
    多进程 没问题 多线程就会出现 这种错误
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1063 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 20:02 · PVG 04:02 · LAX 12:02 · JFK 15:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.