こんにちは、Python 3.3 でソケットを学習しようとしていますが、リモート サーバーへのデータ送信に問題があります。コマンドはpython 3.3で変更されていますか、それとも間違っていますか。問題を確認できるように、以下のコードを見つけてください。s.sendall を s.send に変更するなどの単純な分割を好むでしょう。無理なら心配いらない
import socket
import sys
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
except socket.error:
print("Failed to create a socket")
print("Socket created")
host = ("www.google.com")
port = 80
try:
remote_ip = socket.gethostbyname(host)
except socket.gaierror:
print("Hostname could not be found, exiting finding socket")
sys.exit()
print("Ip adress of",host,"is",remote_ip)
s.connect((remote_ip, port))
print("Socket connected to",host,"on ip", remote_ip)
message = "GET / HTTP/1.1/r/n/r/n"
try:
s.send(message)
except socket.error:
print("Failed")
sys.exit
print("Message send successful")
reply = s.recv(4096)
print(reply)
s.close()