Главная
Форум
Контакты
Купить
Поддержи проект
Поиск
Искать:
Расширенный поиск
[Закрыть]
Правила форума
Войти
Регистрация
Russian
English
HandyCache форум
Главная категория
»
Дополнения, плагины
»
Создание плагина
Имя пользователя:
1 час
1 день
1 неделя
1 месяц
Навсегда
Пароль:
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Отправить эту тему
Печать
Автор
Тема: Создание плагина (Прочитано 7826 раз)
0 Пользователей и 1 Гость смотрят эту тему.
stealzy
Пользователь
Репутация: +1/-2
Offline
Сообщений: 52
Создание плагина
«
:
18 апреля 2014, 15:08:21 »
Не подскажете как сторонней программой передавать данные в lua-расширение.
Я создавал скрытое окно-приемник, но тогда невозможно открыть опции других расширений(ограничение на одно окно расширений).
Вариант с файлами не подходит, ввиду медлительности.
Кстати, а как указать относительный путь в lua? Скажем я хочу запустить .ехе в папке расширения, как?
hc.shell_execute(my.exe) не работает.
Сообщить модератору
Записан
HC 1.0.0.551
mai62
Автор HC
Репутация: +226/-4
Offline
Сообщений: 6383
Re: Создание плагина
«
Ответ #1 :
18 апреля 2014, 16:49:05 »
Цитировать
Не подскажете как сторонней программой передавать данные в lua-расширение.
Можно передавать на НС http-запросы со специальными URL, которые расширение будет перехватывать и обрабатывать самостоятельно.
Цитировать
Кстати, а как указать относительный путь в lua? Скажем я хочу запустить .ехе в папке расширения, как?
Переменная hc.script_name содержит путь к файлу расширения.
Сообщить модератору
Записан
stealzy
Пользователь
Репутация: +1/-2
Offline
Сообщений: 52
Re: Создание плагина
«
Ответ #2 :
18 апреля 2014, 20:13:14 »
Да, я читал док. Просто я не понял, как это сделать на lua
hc.shell_execute(hc.script_name..'\hcHotKeys+.exe')
Сообщить модератору
Записан
HC 1.0.0.551
mai62
Автор HC
Репутация: +226/-4
Offline
Сообщений: 6383
Re: Создание плагина
«
Ответ #3 :
18 апреля 2014, 20:17:56 »
Как-то так (работоспособность не проверял):
hc.shell_execute(hc.script_name:match('.*\\')..'hcHotKeys+.exe')
Сообщить модератору
Записан
stealzy
Пользователь
Репутация: +1/-2
Offline
Сообщений: 52
Re: Создание плагина
«
Ответ #4 :
18 апреля 2014, 20:54:40 »
Ура, спасибо! Ща переделаю плагин.
Если знаете толковый ман по Lua, буду признателен)
Сообщить модератору
Записан
HC 1.0.0.551
stealzy
Пользователь
Репутация: +1/-2
Offline
Сообщений: 52
Re: Создание плагина
«
Ответ #5 :
19 апреля 2014, 08:37:31 »
Все таки я не понимаю, почему можно создать только одно постоянное(причем скрытое в моем случае) окно расширения?
Это намеренно сделано?
Посылать http запросы для общения с плагином не хотелось бы(firewall, etc).
«
Последнее редактирование: 19 апреля 2014, 08:50:08 от stealzy
»
Сообщить модератору
Записан
HC 1.0.0.551
stealzy
Пользователь
Репутация: +1/-2
Offline
Сообщений: 52
Re: Создание плагина
«
Ответ #6 :
21 апреля 2014, 14:14:48 »
Разобрался, что ShowModal разрешает только 1 окно, но почему не показывает Show? Окно появляется и тут же исчезает.
--------------------------------------------------------------
Не выходит подделать заголовок ответа сервера(Response Headers).
Я пишу, скажем:
Код:
function Request()
hc.answer_header = 'HTTP/1.1 200 OK\nDate: Mon, 21 Apr 2014 09:56:54 GMT\nServer: Apache/1.3.37\nLast-Modified: Mon, 21 Apr 2014 03:57:08 GMT\nContent-Type: text/html; charset=koi8-r\nConnection: close'
hc.answer_body ='<html><html><head>\n<title>Title</title></head>\n<body>\nHello!<br>\n</body>\n</html>'
end
— Сервер вернул недопустимый или нераспознанный ответ. (WinHttp)
«
Последнее редактирование: 21 апреля 2014, 14:26:26 от stealzy
»
Сообщить модератору
Записан
HC 1.0.0.551
Михаил
Модератор
Репутация: +337/-14
Offline
Сообщений: 5513
Re: Создание плагина
«
Ответ #7 :
21 апреля 2014, 20:01:25 »
Попробуйте завершить заголовок строкой '\n\n'
Сообщить модератору
Записан
stealzy
Пользователь
Репутация: +1/-2
Offline
Сообщений: 52
Re: Создание плагина
«
Ответ #8 :
22 апреля 2014, 08:53:32 »
Спасибо, помогло.
Фаерфокс и Опера сразу показывают все. В мониторе все ок.
Но вот ИЕ ждет 15-30 секунд, прежде чем показать ответ.
И WinHttp вообще пишет, что время ожидания истекло и выходит с ошибкой, либо тоже ждет.
Чего они ждут? Я вписал
Код:
hc.action = 'stop'
, НС ответил им
Цитировать
Connection: close
, но нет, ждут!
весь код:
Код:
function RequestHeaderReceived()
hc.action = 'stop'
hc.answer_header = 'HTTP/1.1 200 OK\nDate: Mon, 21 Apr 2014 09:56:54 GMT\nServer: Apache/2.2.0\nLast-Modified: Mon, 21 Apr 2014 03:57:08 GMT\nContent-Type: text/html; charset=koi8-r\nConnection: close\n\n\n'
hc.answer_body = '<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- tiny web site --><html>\n<html><head>\n<title>Title</title></head>\n<body>\nHello!<br>\n</body>\n</html>'
end
22,04,14(12-20-09).png
(21.43 Кб, 470x517 - просмотрено 184 раз.)
«
Последнее редактирование: 22 апреля 2014, 10:18:27 от stealzy
»
Сообщить модератору
Записан
HC 1.0.0.551
stealzy
Пользователь
Репутация: +1/-2
Offline
Сообщений: 52
Re: Создание плагина
«
Ответ #9 :
22 апреля 2014, 11:05:52 »
Если оборвать соединение(hc.client_disconnect), то браузер без конца пытается дозвониться.
Интересно, НС подменяет заголовок ответа, который я отсылаю.
Вот что я шлю:
Код:
HTTP/1.1 200 OK
Date: Mon, 22 Apr 2014 12:56:54 GMT
Server: Apache/2.2.0
Last-Modified: Mon, 21 Apr 2014 03:57:08 GMT
Content-Type: text/html; charset=koi8-r
Connection: close
А вот данные из лога:
Код:
HTTP/1.1 200 OK
Date: Mon, 22 Apr 2014 12:56:54 GMT
Server: Apache/2.2.0
Last-Modified: Mon, 21 Apr 2014 03:57:08 GMT
Content-Type: text/html; charset=koi8-r
Connection: keep-alive
Transfer-Encoding: chunked
Видно, что close заменен на keep-alive, и добавлена новая строка
«
Последнее редактирование: 22 апреля 2014, 11:26:57 от stealzy
»
Сообщить модератору
Записан
HC 1.0.0.551
olDjeka
Постоялец
Репутация: +6/-0
Offline
Сообщений: 117
Создание плагина
«
Ответ #10 :
22 апреля 2014, 23:33:45 »
См.
п.3
, а для информации и всю страницу. И ещё (из личного опыта), иногда лучше использовать
\r\n
вместо
\n
, или проверять как это выглядит в заголовке.
Сообщить модератору
Записан
Dimiyan
Новичок
Репутация: +0/-1
Offline
Сообщений: 29
Re: Создание плагина
«
Ответ #11 :
29 ноября 2014, 22:00:03 »
Здравствуйте кто может помочь в написании несложного плагина? Хотел бы связать довнлоад менеджер с его грабером сайтов и хенди есть смельчаки?
Сообщить модератору
Записан
stealzy
Пользователь
Репутация: +1/-2
Offline
Сообщений: 52
Re: Создание плагина
«
Ответ #12 :
01 февраля 2015, 00:32:12 »
Оказалось надо было вынести подмену hc.answer_header и hc.answer_body в отдельную фукцию на событие BeforeAnswerHeaderSend.
Что и логично, ведь я подменяю их для браузера, а не для сервера.
2 Dimiyan: А в чем проблема? Указать в DM работать через прокси HC?
Сообщить модератору
Записан
HC 1.0.0.551
Страниц: [
1
]
Вверх
Отправить эту тему
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Главная категория
-----------------------------
=> Общие вопросы
=> Новые предложения
=> Дополнения, плагины
=> Сжатие трафика
=> English forum
=> Indonesian forum
-----------------------------
Гостевая
-----------------------------
=> Гостевая
-----------------------------
Дела домашние
-----------------------------
=> Сайт и форум HandyCache
=> Курилка
© 2006-2014 HandyCache Team. Все права защищены.
Загружается...