Титла: CURL и алтернативи Публикувано от: qwerty11 в Sep 04, 2010, 23:56 Здравейте,
Тази нощ съм на тема ИЗПРАЩАНЕ НА ДАННИ КЪМ WEB-СТРАНИЦА ПО METHOD=POST чрез скриптове. Използвам в момента CURL. Искам да попитам има ли и други методи, и според вас кое е най-удобно за изпращането на такива данни. Титла: Re: CURL и алтернативи Публикувано от: n00b в Sep 05, 2010, 01:50 А сокет не ти ли върши работа?
Код Кратко обяснение - отваряш сокета и бичиш POST заедно с горните параметри. След това подаваш 2 празни реда (МНООООООООООГО са важни!) и в същия сокет сървъра ти избълва резултата който трябва да си обработиш. Титла: Re: CURL и алтернативи Публикувано от: neter в Sep 05, 2010, 03:13 Всеки метод с целите си - няма общо най-добър, а най-добър за конкретната ситуация. Тъй като споменаваш скриптове, ще предположа, че говориш за системни скриптове, така че най-добре е да си ползваш bash-овския curl. Ако не ти е нужно cookie, то ти е достатъчна една команда
Код Опцията "-s" указва на curl да не показва допълнителна информация, опцията "-d" праща POST променливите, а в края на командата съм добавил файл, в който да се запише изходът от изпълнението (заредената страница), вместо да се изкарва на екрана. Ако ти е нужно да си създадеш cookie Код Опцията "-c" създава cookie-то в указания път, а опцията "-b" ползва създаденото cookie. Достатъчно е да създадеш cookie-то веднъж, след което да го използваш многократно в скрипта си. В първата команда съм използвал /dev/null, тъй като съм решил, че заредената страница при изпълнението на тази команда не ми трябва нито във файл, нито изведена на екрана. Навсякъде ползвам пълни пътища, тъй като системните скриптове обикновено се извикват от crontab, а не ръчно от някоя папка. Ако ти е нужно още нещо, зачети се в "curl --help" ;) Титла: Re: CURL и алтернативи Публикувано от: qwerty11 в Sep 05, 2010, 22:57 Добър вечер, отново.
Благодаря за отговорите. С мойте повърхностни знания за РНР, много неща неможах да сътворя. Правих опити с логването в различни сайтове и форуми най-вече със CURL - нямах проблеми. Най - ме гложди неспособноста това да стане във сайта на veselaferma.com. Това са хедърите които се разменят: http://veselaferma.com/login/proxy_login.php POST /login/proxy_login.php HTTP/1.1 Host: veselaferma.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; bg; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: bg,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7 Keep-Alive: 115 Connection: keep-alive Referer: http://veselaferma.com/login.php?start=1&ref=&wid= Cookie: __utma=68995734.831089568.1283695981.1283707333.1283715262.4; __utmz=68995734.1283695981.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); PHPSESSID=d51a8a18b6d5bc3033957e2f19a6fe24; __utmc=68995734; __utmb=68995734.4.10.1283715262 Content-Type: application/x-www-form-urlencoded Content-Length: 82 server=1&username=kukukukku&password=kukukukuku&submitlogin=%D0%92%D1%85%D0%BE%D0%B4 HTTP/1.1 302 Found X-Powered-By: PHP/5.2.4-2ubuntu5.10 Location: http://s1.veselaferma.com/logw.php?USR=kukukuku&pass=e7b2e0c49911234567890123459079b8 Content-Type: text/html Content-Length: 0 Date: Sun, 05 Sep 2010 19:44:06 GMT Server: lighttpd/1.4.19 ---------------------------------------------------------- http://s1.veselaferma.com/logw.php?USR=kukukuku&pass=e7b2e0c49911234567890123459079b8 GET /logw.php?USR=kukukuku&pass=e7b2e0c49911234567890123459079b8 HTTP/1.1 Host: s1.veselaferma.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; bg; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: bg,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7 Keep-Alive: 115 Connection: keep-alive Referer: http://veselaferma.com/login.php?start=1&ref=&wid= Cookie: ref=gomffbg; __utma=68995734.831089562.1283692981.1283207333.1223715262.4; __utmz=68995734.1283695981.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmc=68995734; wunr=17916292; __utmb=68995734.4.10.1283715262; PHPSESSID=ce9a3b7e12345678907df6cd0ded3c4d HTTP/1.1 302 Found Transfer-Encoding: chunked P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM" Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Set-Cookie: wunr=17916292 Location: http://s1.veselaferma.com/main.php?ref=gomffbg Content-Encoding: gzip Vary: Accept-Encoding Content-Type: text/html Date: Sun, 05 Sep 2010 19:38:23 GMT Server: lighttpd/1.4.19 ---------------------------------------------------------- http://s1.veselaferma.com/main.php?ref=gomffbg GET /main.php?ref=gomffbg HTTP/1.1 Host: s1.veselaferma.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; bg; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: bg,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7 Keep-Alive: 115 Connection: keep-alive Referer: http://veselaferma.com/login.php?start=1&ref=&wid= Cookie: ref=gomffbg; __utma=68995734.831089562.1283692981.1283207333.1223715262.4; __utmz=68995734.1283695981.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmc=68995734; wunr=17916292; __utmb=68995734.4.10.1283715262; PHPSESSID=ce9a3b7e12345678907df6cd0ded3c4d HTTP/1.1 200 OK Transfer-Encoding: chunked Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM" Set-Cookie: ref=gomffbg; expires=Tue, 05-Oct-2010 19:38:23 GMT Content-Encoding: gzip Vary: Accept-Encoding Content-Type: text/html Date: Sun, 05 Sep 2010 19:38:23 GMT Server: lighttpd/1.4.19 Ще бъдете ли така добри да помогнете, или да дадете насоки. Титла: Re: CURL и алтернативи Публикувано от: n00b в Sep 05, 2010, 23:03 ооо - момко...
имаш гоуем проблем! И той се казва cookie(s). За щастие е лесно решим с curl и малко по-трудно без него (НО НЕ Е НЕРЕШИМ!). Значи - когато сървъра ти подава куки трябва да го сторваш и последващите заявки трябва да изпращаш същите тези кукита нагоре за да ти тече сесията. Отделно - трябва да обработваш 301/302 редиректите! Титла: Re: CURL и алтернативи Публикувано от: ghoof в Sep 06, 2010, 13:43 Аз имам един още по-тъп въпрос. Не съм се занимавал кой знае колко с curl, но да знам дали да се захващам. А въпроса е- поддържа ли curl сертификати?
Питам защото искам да си подписвам преводи, но всеки път като се докосна до web интерфейса на моята банка, ми се драйфа. Идеята ми е да си направо собствено приложениице за преводи, но ако curl не може да работи със сертификати, то няма как да стане. Ако е възможно, то бих се радвал на някоя връзчица с подробности. Благодаря! Титла: Re: CURL и алтернативи Публикувано от: b2l в Sep 06, 2010, 13:46 http://curl.haxx.se/docs/sslcerts.html
|