@Maratk1n

Как подружить Python и Callback API?

Никак не могу понять что я делаю не так.
Я подключил к ВК свой 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).
Что я могу делать не так..?
  • Вопрос задан
  • 1297 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы