2020-9-9 12:55:12
对你的代码做了点改动,如果要翻译中文需要加判断
#server.py
import socket
import translator
s = socket.socket()
ip = 'localhost'
port = 8000
s.bind((ip,port))
s.listen(1)
print("Wait for client")
c, addr = s.accept()
print ('client added !')
while True:
msg1 = input (">>>")
output = translator.translate(msg1)["content"]["word_mean"][0]
c.send(output.encode("utf-8"))
print (c.recv(1024).decode())
#client.py
import socket
import translator
s = socket.socket()
ip = 'localhost'
port = 8000
s.connect((ip,port))
print ('Connected ! ')
while True:
print(s.recv(1024).decode())
msg2 = input (">>>")
output = translator.translate(msg2)["content"]["word_mean"][0]
s.send(output.encode("utf-8"))
#translator.py
from urllib import request,parse
import json
def translate(word):
base_url = "http://fy.iciba.com/ajax.php?a=fy"
data = {
"f": "auto",
"t": "auto",
"w": word
}
data_str = parse.urlencode(data)
header = {"User-Agent":" Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36"}
response = request.Request(url=base_url,headers = header,data = bytes(data_str,encoding="utf-8"))
req = request.urlopen(response).read().decode("utf-8")
obj =json.loads(req)
return obj