już działa redirect
CODE
--- Skrypt obsługujący bramkę www->sms sieci Idea dla wtyczki SMS.dll do programu Konnekt
--- Wersja druga, obslugujaca tokeny...
--- W razie gdyby Idea zmienila IP bramki, mozna je przestawic przy InternetConnect
--- Osoby szukajace, w jaki sposob rozwiazany jest token - zwroccie uwage na f-cje getToken :)
--- (C)2003 hao | stamina & Olórin
--- http://konnekt.stamina.eu.org
--- Odpowiedzialność za wykorzystywanie skryptu ponosi użytkownik
--- Wymaga obecności pliku const.lua w katalogu ze skryptem!
include("const.lua");
function sender(SMS)
SMS.to = preg_matchReturn("/\\d{9}$/" , SMS.to);
succ=0;
tab={};
setInfo("Łączę...");
hSession = InternetOpen("Mozilla/4.0 ()");
if hSession ~= 0 then
hConnect = InternetConnect(hSession, "sms.idea.pl", 80, "", "");
if hConnect ~= 0 then
hRequest = HttpOpenRequest(hConnect, "GET", "/" , "" , INTERNET_FLAG_NO_AUTO_REDIRECT);
HttpSendRequest(hRequest, "", "");
if (HttpQueryInfo(hRequest , HTTP_QUERY_STATUS_CODE) ~= '200') then
redirect = preg_matchReturn([[!(?<=//)[^/]+!]] , HttpQueryInfo(hRequest , HTTP_QUERY_LOCATION));
if (redirect == '') then setError("Nieprawidłowa odpowiedź serwera!"); return;end;
InternetCloseHandle(hRequest);
InternetCloseHandle(hConnect);
hConnect = InternetConnect(hSession, redirect , 80, "", "");
if (not hConnect) then setError("Problem z połączeniem!"); return;end;
setInfo("Przekierowanie na: "..redirect , INFO_WARN);
hRequest = HttpOpenRequest(hConnect, "GET", "/" , "");
HttpSendRequest(hRequest, "", "");
end;
txt = InternetReadFile(hRequest);
setInfo("Pobieram token");
tab={};
tab[1]="Komunikat na wypadek gdyby nie odnaleziono właściwiego otoczenie komunikatów ?!";
--txt = InternetReadFile(hRequest);
txt = txt .. "</TD>";
preg_match("|.input type=.hidden. name=.token. value=.(.+?). ID=.Hidden1..|si" , txt , tab);
token = tab[1];
---Tutej określamy jak wyglada komunikat potwierdzający sukces (znaki specjalne i pl zastępujemy kropką):
-- isok = preg_match("/zosta.a wys.ana./is" , res);
--setInfo(token);
--token = token .. token .. token .. token .. token .. token .. token .. token;
hRequest = HttpOpenRequest(hConnect, "GET", "rotate_token.aspx?token=" .. token , "");
pass = "";
if not hRequest or not HttpSendRequest(hRequest, "", "") then return "Problemy z pobieraniem tokena!"; end;
jpg = InternetReadFile(hRequest);
tokenFile = "temp\\idea_token_".. token ..".gif";
plik=io.open(tokenFile , "wb");
if (plik == nil) then return "Plik tokena "..tokenFile.." nie mógł zostać utworzony!" end;
plik:write(jpg);
plik:close();
pass = getToken("Aby móc wysłać SMSa poprzez bramkę Ideii podaj tekst widoczny na obrazku." , tokenFile);
os.remove(tokenFile);
InternetCloseHandle(hRequest);
setInfo("Wysyłam zapytanie");
if pass == "" then return "Niepoprawny TOKEN!";end;
hRequest = HttpOpenRequest(hConnect, "POST", "sendsms.aspx" , "");
if hRequest ~= 0 and pass ~= "" then
data = "RECIPIENT=" .. SMS.to .. "&SHORT_MESSAGE=" .. urlEncode(SMS.msg)
.. "&SENDER=" .. urlEncode(SMS.from)
.. "&token=" .. token .. "&pass=" .. cp2iso(pass)
.. "&wyslij=Wy?lij";
if HttpSendRequest(hRequest, "Content-Type: application/x-www-form-urlencoded", data) then
txt = InternetReadFile(hRequest);
--[[ plik=openfile("temp\\IDEA_sendsms.html" , "wt");
if (plik) then
write(plik,txt);
closefile(plik);
end;
--]]
tab[1]="Problem z bramką";
if preg_match("|<div class=.tytDuzy.>(.+?)</div>|si" , txt , tab) > 0 then
if preg_match("|Tw.j SMS zosta. wys.any|si" , txt) > 0 then
setSuccess("SMS został wysłany pomyślnie.");
else
setError(iso2cp(tab[1]));
end;
else
preg_match("|<tr><td><p[^>]+style[ ='\"]*[^\">]*color:red[^>]*>([^<]+)</p></td>|si" , txt , tab);
setError(iso2cp(tab[1]));
end;
succ = 1;
end
end
end
end
if succ == 0 then setError("Wystąpiły problemy z połączeniem");end;
if succ == -1 then setError("Wystąpiły problemy z bramką");end;
--- Zwalniamy uchwyty
InternetCloseHandle(hSession);
InternetCloseHandle(hConnect);
InternetCloseHandle(hRequest);
end;
function sendSMS(SMS)
err = sender(SMS);
if (err ~= nil) then
setError(err);
end;
end;
z reklamami może 1rstwapowy sposób ale niesądze żeby się tak dało
UPDATE: nieda sie tak
(((((((