Используйте Ruby Mechanize для симуляции загрузки файлов Flash - PullRequest
0 голосов
/ 03 марта 2012

Я хочу использовать Ruby Mechanize, чтобы написать скрипт автоматической загрузки файлов для веб-сайта. Но шаг загрузки с сайта читается с помощью файла Flash. Я использую fiddler перехватывает трафик из файла Flash на сервер. Вот оно.

POST /upload.php HTTP/1.1
Accept: text/*
Content-Type: multipart/form-data; boundary=----------KM7KM7Ij5KM7KM7ei4GI3GI3gL6GI3
User-Agent: Shockwave Flash
Host: 119.147.15.17<this is fake IP address>
Content-Length: 7800236
Connection: Keep-Alive
Pragma: no-cache

------------KM7KM7Ij5KM7KM7ei4GI3GI3gL6GI3
Content-Disposition: form-data; name="Filename"

learning_objectives.flv
------------KM7KM7Ij5KM7KM7ei4GI3GI3gL6GI3
Content-Disposition: form-data; name="FileData"; filename="learning_objectives.flv"
Content-Type: application/octet-stream

This_is_the_real_data_in_learning_objectives.flv

Мой вопрос: как мне смоделировать этот пост? В настоящее время я могу создать собственную форму и добавить элемент ввода типа file . Затем отправьте эту форму с настроенными заголовками (такими как пользовательский агент и т. Д.). Но мне все еще трудно иметь дело с частью загрузки файла. Кто-нибудь может мне помочь с этим? Спасибо!

1 Ответ

1 голос
/ 04 марта 2012

Это должно выглядеть примерно так:

agent.post url, 'FileData' => File.new('learning_objectives.flv')
...