Прежде всего, я должен отметить, что я новичок в остальных API и python, это моя первая попытка. Я хочу использовать только стандартную библиотеку.
. Попробуйте использовать эту команду терминала curl на моем python сервере.
curl -d "id=23&answer=Rad Mobile" -X POST http://localhost:8000/answer
Мой код сервера такой. Чтобы получить URL приходящего почтового запроса. Функции в классе RequestHandler (BaseHTTPRequestHandler):
def do_POST(self):
url = urlparse(self.path)
if url.path == "/answer":
return self.answer_q(parse_qs(url.query))
self.send_response(404)
self.end_headers()
self.wfile.write(b'Not Found \n')
для понимания ответа
def answer_q(self, query):
global correct_a,index
isCorrect = False
if "answer" in query:
if query["answer"] == str.encode(json.dumps(data["results"][index]["correct_answer"])) :
isCorrect = True
correct_a += 1
self.send_response(200)
self.end_headers()
self.wfile.write(json.dumps(query).encode())
#self.wfile.write(json.dumps(data["results"][index]["correct_answer"]).encode())
87 line self.wfile.write(json.dumps(self.update_js(query['id'],isCorrect),indent = 2).encode())
index=index+1
, но вы получаете ошибку
Файл "serv.py", строка 87, в answer_q self.wfile.write (json .dumps (self.update_ js (запрос ['id'], isCorrect), отступ = 2) .encode ()) KeyError: 'id'
but with this form it works.
curl -X POST "http://localhost: 8000 / answer? Id = 23 & answer = Rad_Mobile "
Так что я предполагаю, что я не могу прочитать строку в начале завитка с помощью этой команды curl -d "" -X POST. Как можно поймать идентификатор и ответить. Большое спасибо.