【问题标题】:"Address already in use" Error while using LinkedIn API使用 LinkedIn API 时出现“地址已在使用”错误
【发布时间】:2017-08-14 17:33:10
【问题描述】:

我试图使用 Linkedin API 来抓取有关公司的信息,但我遇到了套接字错误:

Traceback (most recent call last):
File "/Users/anhvangiang/Desktop/PY/test.py", line 10, in <module>
application = server.quick_api(key, secret)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/linkedin/server.py", line 25, in quick_api
_wait_for_user_to_enter_browser(app)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/linkedin/server.py", line 39, in _wait_for_user_to_enter_browser
httpd = BaseHTTPServer.HTTPServer(server_address, MyHandler)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 417, in __init__
self.server_bind()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/BaseHTTPServer.py", line 108, in server_bind
SocketServer.TCPServer.server_bind(self)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 431, in server_bind
self.socket.bind(self.server_address)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 48] Address already in use

我的代码是:

from linkedin import server
from socket import *

sock = socket()
sock.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)

key = "key"
secret = "secret"

application = server.quick_api(key, secret)

有什么建议可以解决这个问题吗?

【问题讨论】:

    标签: python sockets linkedin-api


    【解决方案1】:

    您可以使用以下命令找到并终止该进程:

    ps aux | grep python
    

    获取进程ID并使用:

    kill -9 PID
    

    它会释放地址。

    或者你可以试试:

    application = server.quick_api(key, secret, 5557)
    

    【讨论】:

    • 它告诉我:1702 0.0 0.0 2432804 1840 s000 S+ 3:44PM 0:00.00 grep python。当我尝试在 1702、2432804、1840 上使用 kill -9 时,它都说没有这样的过程。
    • 2432和804之间有空格吗?
    • 它们之间没有空格。
    • 你可以试试ps ax | grep python
    • github.com/ozgur/python-linkedin/blob/master/linkedin/server.py 它表明quick_api 使用默认参数端口为 8000。如果您能找到正在使用该端口的进程并将其杀死,那么以上错误将得到解决,这是我的猜测. netstat 命令可用于查找使用端口的进程。我的第二个猜测是将默认参数 8000 更改为 5557 并检查。
    猜你喜欢
    • 1970-01-01
    • 2020-03-12
    • 2015-11-08
    • 1970-01-01
    • 1970-01-01
    • 2019-10-11
    • 2016-09-05
    • 2023-03-28
    • 2018-05-20
    相关资源
    最近更新 更多