Емулация на POST

7 отговора 319 прегледа
#1

Емулация на POST

Интересува ме има ли възможност за емулация на POST от PHP.
Необходимо ми е от един общ LOGIN да може да се влезе на няколко места във външни продукти - Forum, Mail.
Имам входните форми за тях, но те изискват задължително POST.
Скалъпих един вариант с hidden field и javascrtipt, но не ми се вижда да е най читавият.
Има ли някакъв друг вариант?

Сайт за нова българската литература [линк]
Вече над ДВЕ години
Отговор
в отговор на Ивaнyшka #2

Re: Емулация на POST

$_POST е обикновен масив. Преди да include()-неш файла, който зависи от него, можеш да го модифицираш - $_POST[ 'username' ] = 'Pesho' например.

Аз бих заложил на изчистването на интерфейсите за предаването на данни. Това с бъзикането на глобалния масив е мръсен хак и, вЕрвай ми, ще те ухапе при първа възможност.

--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom Poppendieck
Отговор
в отговор на Ивaнyшka #3

Re: Емулация на POST

разбира се, че можеш

стандартно е описано как се предават ПОСТ променливите след заявката, но винаги можеш да ползваш нещо готово, като cURL или някой друг клас, като любимият ми е Snoopy (от авторите на Смарти)

btw връзването по този начин към външни продукти без необходимите промени в техния или в твоя код е меко казано несигурно (за пример можеш да вземеш всяка една от по-популярните CMS-та и да видиш как всяка е разработила модул, който да инкорпорира phpBB, примерно)

Отговор
в отговор на AcidMemory #4

Re: Емулация на POST

>любимият ми е Snoopy

Хаа и си траеш?! От известно време търся читав хттп клиент дето да отбира от хтмл - за автоматизиране на тестове към уеб приложението. Другия път очаквам да се представиш по-добре с четенето на мислите ми .

Мерси иначе - ще го разгледам веднага щом sourceforge свършат с maintainance-то на сайта си.

--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom Poppendieck
Отговор
в отговор на Mycлoн #5

Re: Емулация на POST

:) еми да беше казал
снупи-то е едно от най-невероятните средства за "крадене" на информация от сайтовете

даже един колега, дето му е много кеф да го ползва, го донаписва за един проект с генериране на ХТМЛ дървото, за да може директно да си избира елементите, които да се парсват, по уникален начин

btw снупи ползвам от много време и затова си го харесвам, но напоследък се загледах в cURL библиотеката и оттам също могат да се направят всички тези неща, че и доста повече, а и доста по-лесно и бързо (все пак е модул)

Отговор
в отговор на AcidMemory #6

Re: Емулация на POST

поразтърси се из интернет, ще можеш да намериш едно нещо което се нарича "дървото на Минковски" което е шаваскрипт и пхп . За всеки юз имаш да дадеш 2 халби бира на него и на мен една :))

-----------------------
гърбавия, ковчег ще го изправи
Отговор
в отговор на Дpeмeщ #7

Re: Емулация на POST

счупих гуглето от търсене, не намерих такова чудо

много искам да го видя, за да го сравня с метода, който мисля да ползваме (дефиниране на темплейти за събиране на информацията, които да правят match върху сорса, както и такива, за показването и - видях реализация в standalone програмка и съм страшно впечатлен)

Отговор
в отговор на Ивaнyшka #8

Re: Емулация на POST

Ето какво намерих

//PostToHost("[линк]","/path/script","abc=123&def=456");
function PostToHost($host, $path, $data_to_send) {
$fp = fsockopen($host,80);
fputs($fp, "POST $path HTTP/1.1\n");
fputs($fp, "Host: $host\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\n");
fputs($fp, "Content-length: ".strlen($data_to_send)."\n");
fputs($fp, "Connection: close\n\n");
fputs($fp, $data_to_send);
fclose($fp);
}


Дахо свърши рабоа.

Успех

Отговор