ugrás a tartalomhoz

SMS küldés webes szolgáltatóval.

Anonymous · 2006. Ápr. 29. (Szo), 17.12
Időzített PHP script-ből szeretnék sms-t küldeni konkrétan a www.olcsosms.hu -n keresztül.
Ez ugye úgy működik hogy be kell jelentkeznem, és aztán egy formba beírni az SMS-t. Ezt headerekkel, vagy valami más eszközzel nem tudom "szimulálni" PHP-ból, hogy közvetlenül tudjak SMS-t küldeni?

Eszerint a hozzászólás szerint lehet ilyet, de pontosan hogy?
http://weblabor.hu/forumok/temak/5923#comment-8420
 
1

Böngésző eljátszása

attlad · 2006. Ápr. 29. (Szo), 17.28
Ezekkel megnézed milyen kérés-válasz kommunikációra lesz szükség (GET, POST kérések, kapott süti):
- Firefox
- Live HTTP Header kiterjesztés
- forráskód

Ezután a PEAR HTTP_Request vagy CURL segítségével eljátszod a böngészőt.
2

Nem megy...

Anonymous · 2006. Ápr. 29. (Szo), 22.57
Nem akar működni. Ezzel próbálkoztam, de semmi hatása. Nincs valakinek ötlete, vagy nem próbálkozott már valaki ezzel?

<?
// LOGIN
$output = array();
$request = "edLoginName=user&edPassword=pass&btnLogin=Bel%E9p";
$header = "POST /login.php HTTP/1.1\r\n";
$header .= "Host: www.olcsosms.hu\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: ".strlen($request)."\r\n";
$header .= "Connection: close\r\n\r\n";
$header .= "$request\r\n";
$socket = fsockopen("www.olcsosms.hu", 80, $errno, $errstr);
if ($socket) { 
	fputs($socket, $header);
	while(!feof($socket)) {
		$output[] = fgets($socket);
	}
	fclose($socket);
}
print "<pre>"; print_r($header); print "</pre>";
print "<pre>"; print_r($output); print "</pre>";
print "<hr><hr>";

$pos1 = strpos($output[4]," ");
$pos2 = strpos($output[4],"=");
$pos3 = strpos($output[4],";");
$cookie_val = substr($output[4],$pos1,$pos2-$pos1);
$cookie_str = substr($output[4],$pos2+1,$pos3-$pos2-1);

// SEND
$output = array();
$from = "...";
$to = "...";
$text = "proba_PHP";
$length = strlen($text);
$year = date("Y");
$month = date("m");
$day = date("d");
$hour = date("H");
$minute = date("i");

$request = "selFrom=$from&edDestination=$to&edSMS=$text&charnum=$length&partnum=1&chkStore=on&selDeliveryAddr=$from&radTimer=1&selTimerYear=$year&selTimerMonth=$month&selTimerDay=$day&selTimerHour=$hour&selTimerMinute=$minute&btnOK=OK";
$header = "POST /smssend_after.php HTTP/1.1\r\n";
$header .= "Host: www.olcsosms.hu\r\n";
$header .= "Referer: http://www.olcsosms.hu/index.php?".time()."\r\n";
$header .= "Cookie: ".$cookie_val."=".$cookie_str."\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: ".strlen($request)."\r\n";
$header .= "Connection: close\r\n\r\n";
$header .= "$request\r\n";
$socket = fsockopen("www.olcsosms.hu", 80, $errno, $errstr); 
if ($socket) { 
	fputs($socket, $header);
	while(!feof($socket)) {
		$output[] = fgets($socket);
	}
	fclose($socket); 
}
print "<pre>"; print_r($header); print "</pre>";
print "<pre>"; print_r($output); print "</pre>";
print "<hr><hr>";

// SEND 2
$output = array();
$request = "btnOK=%DCzenet+k%FCld%E9se";
$header = "POST /sendsms_preview_after.php HTTP/1.1\r\n";
$header .= "Host: www.olcsosms.hu\r\n";
$header .= "Referer: http://www.olcsosms.hu/index.php?".time()."\r\n";
$header .= "Cookie: ".$cookie_val."=".$cookie_str."\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: ".strlen($request)."\r\n";
$header .= "Connection: close\r\n\r\n";
$header .= "$request\r\n";
$socket = fsockopen("www.olcsosms.hu", 80, $errno, $errstr); 
if ($socket) { 
	fputs($socket, $header);
	while(!feof($socket)) {
		$output[] = fgets($socket);
	}
	fclose($socket); 
}
print "<pre>"; print_r($header); print "</pre>";
print "<pre>"; print_r($output); print "</pre>";
print "<hr><hr>";
?>
3

Csináltam

attlad · 2006. Ápr. 29. (Szo), 23.28
Mostánaban nem használtam mert 0 az egyenlegem, de tudtam küldeni, igaz nekem több kérés volt benne, mert végigcsináltam ahogy a böngésző csinálná. Meg a visszaigazolást is néztem, hogy elküldte-e sikeresen és mennyi egyenlegem maradt. Eleve az elején mintha az rémlene, hogy nem engedett beloginolni, ha nem küldesz sütit, ezért GET-elni kell a főoldalt (+1 kérés), hogy kapj sütit, amit a loginnál is már küldened kell.

Végig kell játszani, megnézed mit kapsz vissza, hol bukik el a dolog.
4

Megpróbálom

Anonymous · 2006. Ápr. 29. (Szo), 23.55
Köszi, ezt a sütis dolgot megpróbálom.
Esetleg ha megvan még neked hogy hogyan csináltad, nem tudnád elküldeni?

D
5

Live HTTP Headers

Anonymous · 2006. Ápr. 30. (V), 00.08
Viszont ha Live HTTP Headers-el csak ennyit küldök el, akkor is beenged:

POST /login.php HTTP/1.1
Host: www.olcsosms.hu
Content-Type: application/x-www-form-urlencoded
Content-Length: 56
edLoginName=user&edPassword=pass&btnLogin=Bel%E9p
6

Hmm

attlad · 2006. Ápr. 30. (V), 00.27
Most megnéztem PHP-ból. Jó süti nélkül is. Akkor nem az a hiba nálad.

Kieg.: nekem nincsenek kihagyva kérések, minden átirányítás követés is benne van, úgy 7-8 kérés alatt nem úszod meg de legalább működik. Persze lehet kihagyható lenne pár kérés, de szerintem így korrektebb, még vár is a kérések között.
7

Folyamat...

Anonymous · 2006. Ápr. 30. (V), 08.18
Tehát akkor valahogy így kéne?
  1. Főoldal lekérése
  2. Bejelentkezés
  3. Átirányítás követése
  4. SMS küldő oldal lekérése
  5. SMS elküldése
  6. Átirányítás követése
  7. SMS küldésének "engedélyezése"
  8. Átirányítás követése

És az átirányítás követésénél ugye elég hogyha csak lekérem GET-el azt az oldalt ami Locationba van megadva?
9

Így valahogy

attlad · 2006. Ápr. 30. (V), 10.55
Igen az egy /index.php lekérés. Pár dolog:
- 4. után még van egy átirányítás követés
- "SMS küldő oldal lekéréséhez" én az előtte lekért index.php forrásából szedem a linket, mert volt benne egy furcsa kód, bár lehet az nem változik
- nekem van benne egy-két kisebb ellenőrzés közben, hogy minden úgy megy-e ahogy kéne (olyan válasz jött-e)
10

Ellenőrzés

Anonymous · 2006. Ápr. 30. (V), 11.09
Igen én is néztem az a linket (http://www.olcsosms.hu/link.php?param=presendmsg&mt=c21z) de szerintem az nem változik.
Erről az ellenőrzésről tudnál bővebben mondani valamit? Pontosan miket nézel meg?
11

Re: Ellenőrzés

attlad · 2006. Ápr. 30. (V), 11.25
Semmi komolyabbat, csak hogy a forrásban szerepel-e pár olyan rész aminek ott kéne lennie. Pl. a fenti link, küldő űrlapban az azonosítóm van-e, egyenleg infók, Üzenet elküldve szöveg.
8

Sikerült!

Anonymous · 2006. Ápr. 30. (V), 10.37
Na megcsináltam úgy ahogy mondtad (minden oldal lekérve, minden átirányítás követve), és tökéletesen működik! 9 kérés lett a végére. Köszi a segítséget.

D
12

sms

leventeszabo · 2006. Dec. 29. (P), 20.53
Tudom, hogy kicsit régi a téma, de ha esetleg elolvasod ezt az üzenetet, felvennéd velem a kapcsolatot? Esetleg ha bárki más írt ilyen sms-küldő php-t(vagy akár más nyelven ilyen scriptet), írjon!

Előre is kösz!
13

Lásd fentiek

attlad · 2006. Dec. 29. (P), 22.50
A témában elhangzottak még mindig érvényesek, nekem csont nélkül megy még az akkori szkript.
14

Script!

atideath · 2011. Már. 3. (Cs), 16.41
Valaki tudna küldeni ebből egy használható scriptet nekem? Ami jelenleg is működik az olcsosms.hu-n? Megköszönném.. (atideath kukac gmail.com)
15

[spam] Tömeges SMS küldés API segítségével

bip · 2011. Aug. 20. (Szo), 23.59
Hozzászólás spamelés miatt törölve. - Janoszen