Никак не могу понять что я делаю не так.
Я подключил к ВК свой vps, куда теперь беспрестанно приходят json'ы, т.к. я не могу корректно ответить.
Вот что написано в
документации:
Обратите внимание: после получения уведомления Ваш сервер должен возвращать строку "ok"
и статус HTTP 200. Если сервер несколько раз подряд вернет ошибку, Callback API временно
перестанет отправлять на него уведомления.
Соответственно, код сервера:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket
import logging
from time import sleep
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
try:
sock.bind(('0.0.0.0', 80))
except Exception:
logging.exception('processing request')
sock.listen(1)
#conn, addr = sock.accept()
#print('connected:'+str(addr))
ans = b"2fc3154"
status = b"HTTP/1.1 200 ok"
while True:
conn, addr = sock.accept()
print('connected:'+str(addr))
print(conn)
#conn.settimeout(5)
data = conn.recv(512)
if not data:
break
print(data)
#conn.send(b'ok\n')
conn.send(bytes('HTTP/1.1 200 OK\nConnection: close\n\n', 'UTF-8'))
conn.send(b'ok')
#break
conn.close()
sock.close()
В браузере отображается только "ok" без хэдеров. ВК хэдеры видит (пробовал отправить HTTP 404).
Проблема в том, что ВК не принимает ответы сервера и вываливает ошибки таймаута вперемешку с ошибкой неправильного ответа сервера (Incorrect response text).
Что я могу делать не так..?