czesc,
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 (!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 (IMG:
http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Ten post edytował ennics 7.04.2005, 16:58:07