Odczyt pliku Socket Unix domeny przy użyciu Python jest podobny do zwykłego gniazda TCP:Jak uzyskać dostęp do gniazd domeny uniksowej z wiersza poleceń?
>>> 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'
Od UDS nie są zwykłymi plikami, cat
nie działa na nich:
$ sudo cat /tmp/tbsocket1
cat: /tmp/tbsocket1: No such device or address
Ani curl
:
$ sudo curl /tmp/tbsocket1
curl: (3) <url> malformed
Jak czytać lub pisać do gniazd domeny Unix za pomocą standardowego przecinek czy narzędzia liniowe, takie jak curl?
PS: W dziwnym zbiegiem okoliczności, o curl patch was suggested very recently)
Próbowałem za pomocą tego. Ale pojawia się błąd: "nieprawidłowy rozmiar bloku żądania: 21573 (maksymalnie 4096) pomiń ..." w dzienniku aplikacji. Czy można go używać do: uwsgi_pass unix: ///tmp/web2py.socket; – yogeshagr