Отправка/получение сервера Sage Notebook

Я следовал инструкциям по установке sagenb. Как только это было сделано, я побежал

sage: import sagenb.notebook.notebook_object as nb

sage: nb.notebook(directory="mynotebook")

И запустил свой сервер. Однако я хочу иметь возможность ОТПРАВЛЯТЬ данные на сервер и ПОЛУЧАТЬ оцененные данные. Мои пользователи будут отправлять данные с отдельного сайта, и я не могу позволить им приходить и входить на сервер sagenb.

Я пробовал curl --data x http://localhost:8080/home/admin/0/ и многие другие команды, но все равно получаю

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>405 Method Not Allowed</title>
<h1>Method Not Allowed</h1>
<p>The method is not allowed for the requested URL.</p>

Буквально все, что я хочу сделать, это отправить код на сервер sage и получить обработанный код обратно. Я пытался сделать это уже несколько недель, используя sage, django, sagecell, и я просто не могу заставить его работать. Может быть, это проблема с конфигурацией или, может быть, я просто не знаю правильных команд, но если кто-нибудь может помочь, буду очень признателен.

Или, если у кого-то есть предложения по использованию чего-то еще, я весь внимание.


person Community    schedule 12.07.2014    source источник
comment
Как вы знаете из других ответов, которые я пытался ответить на ваши вопросы, я думаю, что ячейка мудреца, вероятно, правильный путь. Но здесь мне просто интересно, может ли следующий вопрос быть полезным для вас: ask.sagemath.org/question/23431/, который, кажется, от кого-то, делающего что-то аналогичное, но в PHP вместо Django. Я надеюсь, что это помогает!   -  person kcrisman    schedule 20.07.2014
comment
Поскольку документы на данный момент не работают, я попытаюсь предположить: это проблема с аутентификацией или файлом cookie сеанса? В частности, можете ли вы посетить http://localhost:8080/home/admin/0/ без входа в систему и с отключенными файлами cookie? Если нет, то вам нужно придумать какой-то способ заставить постоянный сеанс входа в систему с известным значением файла cookie и передать значение в вашей команде curl.   -  person sirlark    schedule 21.07.2014
comment
И еще вопросы, принимает ли этот вид/страница POST-запросы. Сообщение об ошибке, по-видимому, указывает на то, что ему не нравится метод POST. Может попробовать curl http://localhost:8080/home/admin/0?x=x   -  person sirlark    schedule 21.07.2014


Ответы (1)


Что вы можете сделать, так это использовать сетевой монитор Firefox. Откройте блокнот и оцените выражение. Затем вы можете увидеть заголовок HTTP запроса XHR: введите здесь описание изображения

Вы также можете увидеть содержимое тела того же запроса:

введите здесь описание изображения

Как видите, я вычислил выражение max(3,8)

Существует несколько проблем с вашим запросом на завивку.

  1. Вы не поставили eval в конце URL.
  2. Вы, вероятно, должны поставить куки для аутентификации
  3. Данные закодированы с помощью application/x-www-form-urlencoded, поэтому вы должны соответствующим образом установить Content-type.

В зависимости от того, как обрабатываются запросы, вам, возможно, также потребуется установить дополнительные поля заголовка HTTP.

Подход curl может быть неправильным, дважды проверьте, нет ли доступного API.

person Ortomala Lokni    schedule 22.07.2014