Как отладить загрузку файла? - PullRequest
1 голос
/ 11 марта 2009

Я пытаюсь загрузить файл PDF на веб-сайт, используя систему управления контентом Hot Banana, используя скрипт Python. Я успешно вошел на сайт и могу выйти, но я не могу заставить загрузку файлов работать.

Загрузка файла является частью большой сложной веб-формы, которая передает данные формы и файл PDF через POST. Используя Firefox вместе с расширениями Firebug и Tamper Data, я взглянул на то, что браузер отправлял в POST и куда он шел. Я считаю, что имитировал данные, которые браузер отправлял в коде, но у меня все еще проблемы.

Я импортирую cookielib для обработки файлов cookie, плакат для кодирования PDF, а также urllib и urllib2 для создания запроса и отправки его по URL-адресу.

Возможно ли, что регистрация открывателей плакатов засоряет открыватели процессора печенья? Я делаю это совершенно неправильно?


Редактировать: Какой хороший способ отладки процесса? На данный момент я просто выкидываю ответ urllib2 в текстовый файл и проверяю вывод, чтобы увидеть, совпадает ли он с тем, что я получаю, когда делаю загрузку файла вручную.

Редактировать 2: Крис Лайвли предложил мне опубликовать ошибку, которую я получаю. Ответ от urllib2 не генерирует исключение, а просто возвращает:

<script>
    if (parent != window) { 
        parent.document.location.reload(); 
    } else { 
        parent.document.location = 'login.cfm'; 
    }
</script>

Я буду продолжать это.

Ответы [ 3 ]

1 голос
/ 11 марта 2009

Инструмент, подобный WireShark , даст вам более полную трассировку на гораздо более низком уровне, чем плагины Firefox.

Зачастую это может быть что-то простое, например, неправильная установка типа контента или не указание длины контента.

0 голосов
/ 11 марта 2009

«Какой хороший способ отладки процесса [веб-служб]?»

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

HTTP - очень простой протокол - вы делаете запрос (в данном случае POST), и сервер отвечает. Больше ничего не нужно и не так много, что вы можете сделать во время отладки.

Что еще вы хотели бы? Шутки в сторону. Как вы думаете, какой отладчик может существовать для такого протокола без сохранения состояния?

0 голосов
/ 11 марта 2009

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

...