Чтение файла Unix Domain Socket с использованием Python аналогично обычному TCP-сокету:
>>> import socket
>>> import sys
>>>
>>> server_address = '/tmp/tbsocket1' # Analogous to TCP (address, port) pair
>>> sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
>>> sock.connect(server_address)
>>> sock.recv(512)
'*** uWSGI Python tracebacker output ***\n\n'
Поскольку UDS не являются обычными файлами, cat
не работает с ними:
$ sudo cat /tmp/tbsocket1
cat: /tmp/tbsocket1: No such device or address
Никто не делает curl
:
$ sudo curl /tmp/tbsocket1
curl: (3) <url> malformed
Как читать или писать в доменные сокеты Unix с помощью стандартных инструментов командной строки, таких как curl?
PS: По странному совпадению совсем недавно был предложен патч для завитков)