私はPythonソケットを使用して、ログ記録用のサーバーに接続しています。サーバーのIPアドレスはx.x.x.x
です(私はこれを隠すだけです、x
は0から255までの数字です)。私のドメイン名はwww.example.domain.com
です。私はこのx.x.x.x www.example.domain.com
を/etc/hosts
にsudo
と書いています。しかし、プログラムでドメイン名を使用しようとすると、pythonソケットはドメイン名を解決できませんでした。なぜpythonソケットでドメイン名を解決できないのですか?
import socket
mysocket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
'''Block of code'''
mysocket.sendto('Hello!', 'www.example.domain.com')
mysocket.close()
ここでエラーメッセージは次のとおりです。私はプレーンテキストホスト名などtestLogger
へwww.example.domain.com
を変更した場合は
socket.gaierror: [Errno 8] nodename nor servname provided, or not known
、Pythonのソケットがそれを解決することができます。私はping
私のマシン上のドメイン名をすることができます。だから、このシナリオでなぜpython socketがドメイン名を解決できないのか不思議です。
エラーは何ですか? –
'socket.gethostbyname( 'www.example.domain.com')'を実行するとどうなりますか? – birryree
更新されたコードでは、sendto()のアドレスはタプルではなく文字列であり、ポート番号もありません。 –