Python的错误:类型错误:getsockaddrarg:AF_INET地址必须是元组,不是int
问题描述:
当我启动我的程序:Python的错误:类型错误:getsockaddrarg:AF_INET地址必须是元组,不是int
import bitcoinrpc
import csv
# docs at https://github.com/massanchik/bitcoin-python3
# docs at https://docs.python.org/3.3/library/csv.html
user = 'user'
password = 'password'
port = '44555'
host='127.0.0.1'
access = bitcoinrpc.connect_to_remote(user, password, host, port)
print(access.getinfo())
我收到以下错误:
Traceback (most recent call last):
File "electrum_to_clam.py", line 14, in <module>
print(access.getinfo())
File "/usr/local/lib/python3.4/dist-packages/bitcoinrpc/connection.py", line 133, in getinfo
return ServerInfo(**self.proxy.getinfo())
File "/usr/local/lib/python3.4/dist-packages/bitcoinrpc/proxy.py", line 116, in __call__
resp = self._service_proxy._transport.request(postdata)
File "/usr/local/lib/python3.4/dist-packages/bitcoinrpc/proxy.py", line 67, in request
'Content-type': 'application/json'})
File "/usr/lib/python3.4/http/client.py", line 1065, in request
self._send_request(method, url, body, headers)
File "/usr/lib/python3.4/http/client.py", line 1103, in _send_request
self.endheaders(body)
File "/usr/lib/python3.4/http/client.py", line 1061, in endheaders
self._send_output(message_body)
File "/usr/lib/python3.4/http/client.py", line 906, in _send_output
self.send(msg)
File "/usr/lib/python3.4/http/client.py", line 841, in send
self.connect()
File "/usr/lib/python3.4/http/client.py", line 819, in connect
self.timeout, self.source_address)
File "/usr/lib/python3.4/socket.py", line 499, in create_connection
sock.bind(source_address)
TypeError: getsockaddrarg: AF_INET address must be tuple, not int
可能是什么原因和我该如何解决它?
答
您的端口必须是int
而不是str
。用途:
port = 44555
+0
更改我的程序https://bpaste.net/show/29f1a5b89b02仍然是同样的错误。 – user1540982
答
NHOR只是写它,因为这里
https://laanwj.github.io/bitcoin-python/doc/bitcoinrpc.html
bitcoinrpc.connect_to_remote(user, password, host='localhost', port=8332, use_https=False)
答
一个元组是像(A,B,C ...)提到的端口应该是int。 帕拉姆应该是一个元组,那就试试这个:
access = bitcoinrpc.connect_to_remote((user, password, host, port))
或以其他方式
con_data = (user, password, host, port)
access = bitcoinrpc.connect_to_remote(con_data)
我也有同样的错误,使用可变端口INT不能解决问题。 Python3.4 –