chciałem wykorzystać CURL do zasysania danych z systemu opartego op siec web, napisanego w Javie
wygląda to tak
<?php $url = \"http://www.crm.corp/sys/ps/EMPc/RI_CIC_HOME.RI_AGENT_HOME.GBL?Page=RI_CUST_SRCH&Action=U&cmd=login\"; $params = \"userid=my_login&pwd=my_pass\"; $params .= \"&BO_DIRECT_SRCH_CHAR_DIRECTORY$6=123456\"; $user_agent = \"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)\"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_VERBOSE, 1); //curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_POST ,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $params); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_COOKIE, 1); curl_setopt($ch, CURLOPT_COOKIEFILE, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, \"cookie.txt\"); // plik w którym zapisane są bierzące ustawinia cookies curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); $result=curl_exec ($ch); curl_close ($ch); if ( $result == true ) { } ?>
udało mi się zalogować do systemu, ale nie moge wykonać zapytania POST
wydaje mi się że chodzi o pole w formularzu umieszczonej tam wyszukiwarki
<input type='text' name='BO_DIRECT_SRCH_CHAR_DIRECTORY$6' id='BO_DIRECT_SRCH_CHAR_DIRECTORY$6' tabindex='84' value="" class='PSEDITBOX' style="width:260px; " maxlength='70' />
za zmienną $6 nic się nie podstawia, taka jest nazwa tego pola,
przycisk submit odwołuje się do funkcji w js
<input type='button' name='BO_SEARCH_WRK_LOOKUP_BUTTON2' id='BO_SEARCH_WRK_LOOKUP_BUTTON2' tabindex='122' value="Wybór" class='PSPUSHBUTTON' style="width:72px; " onclick="submitAction_win0(this.form,this.name);" accesskey='r' title="Wyszukaj" />
która wygląda tak
var nResubmit=0; setupTimeout(); function submitAction_win0(form, name) { form.ICAction.value=name; form.ICXPos.value=getScrollX(); form.ICYPos.value=getScrollY(); processing_win0(1,3000); form.ICResubmit.value=nResubmit; form.submit(); nResubmit++; }
i jest jescze odniesienie do tej funkcji w jednym z 6 plików js (których ze względu na brak miejsca nie wkleje;)
// .... if (code == "A7") if (!doInsertKey_win0(target)) return false; if (code == "A\xbc" || code == "A\xbe" || code == "A\e")
if (!findScroll(target)) return false; if (saveWarningKeys_win0.indexOf(code) >= 0) if (!saveWarning("", null, "", "")) return false; submitAction_win0(document.win0, "#KEY" + code); return false; }
wymiękam... jaki parametr jest przkazywany jako name w powyższym input
BO_DIRECT_SRCH_CHAR_DIRECTORY$6#KEYA7
