Відкрити браузер і виконати POST-запит
Необхідно відкрити зразок навігатора і виконати при цьому POST-запит.
З GET-запитом все зрозуміло? роблю так:
Але тепер потрібно sid = 666666 передавати не в GET-запиті, а в POST.
Чи можна таке зробити?
Якщо не можна зробити для браузера за замовчуванням, то як тоді зробити для Internet Explorer "а?
Написати сторінку з формою, в якій вказати METHOD = POST, завантажити її в браузер, розташований на формі, заповнити поля і програмно натиснути кнопку SUBMIT
Це як? TWebbrowser юзати?
Якби мені потрібно було розташувати браузер на формі (тобто TWebbrowser), то з POST-запитом проблем би не було. Принаймні POST-запити там можна робити за допомогою Navigate, що не перекручуючи c html
Але мені потрібно відкрити вікно браузера (IE, або т.п.) # XA0; і виконати POST-запит.
В крайньому випадку підійде і варіант використання IE, як COM-об'єкта. Але я не знаю які у нього є методи для можливості зробити сабж.
Протокол HTTP метод POST.
Взагалі незрозуміло навіщо потрібно відкрити просто вікно браузера і виконати POST. Якщо треба відправити дані, можна і без браузера обійтися.
2 Morgoth_
Взагалі незрозуміло навіщо потрібно відкрити просто вікно браузера і виконати POST. Якщо треба відправити дані, можна і без браузера обійтися.
Трояном пахне з функцією надсилання даних по HTTP (можливістю обходу файрвола).
> Трояном пахне з функцією надсилання даних по HTTP (можливістю
> Обходу файрвола).
Млинець. Ви вже мене зібралися зарахувати до троянопісателям.
Потрібно щоб при натисканні по label на формі в моїй програмі, відкрилося вікно браузера і в нього завантажилася сторінка реєстрації користувача в деякому проекті. Але GET-дані я хочу приховати. Тобто передавати їх в POST-запиті.
Думаю що вже все зрозуміли що це за дані і що вони до троянам не мають ні найменшого відношення.
Тоді все ясно, а я то голову ламав.
Навіщо передавати секретні дані в порожній формі реєстрації?
Чи не простіше зробити введення ключа активації і у відповідь видати ключ реєстрації?
а чи не простіше використовувати невізуальний TIdHTTP? а відповідь сервера вже завантажувати в браузер?
Вобщем в крайньому випадку мене влаштує і варіант з використанням експлорера як COM-об'єкта, типу:
var
# XA0; ie: variant;
begin
# XA0; ie: = CreateOleObject ( "InternetExplorer.application");
# XA0; // А тут потрібно зробити POST-запит. Але як?
# XA0; ie.visible: = true;
end;
Незручно. Типу клікнув по Лабель, а потім чекати потрібно щоб всі загрузилось, після чого вже відкриється експлорер. Народ не зрозуміє. -)
Якщо з COM-об'єктом ИЕ працювати також як і з TWebbrowser "ом, то начебто зрозумів як зробити.