Stian Jacobsen Skrevet 9. desember 2009 Del Skrevet 9. desember 2009 Hei og hopp! Driver å utvikler en nettbasert applikasjon til iPhone og Android. Noen her som har erfaring med cURL? Jeg har prøvd å lage et script for å sende SMS fra telenor sine sider, men kommer meg ikke forbi innloggingen.. Her er ett som fungerer, men er ikke skrevet i PHP da.. http://beta.ivancover.com/wiki/index.php/Telenor_SMS#Website anyone? Lenke til kommentar
TheRealL Skrevet 9. desember 2009 Del Skrevet 9. desember 2009 (endret) Antar at du skal bruke dette selv, isåfall så burde scriptet du linket til fungere. Hvis du har satt opp en Linux server (eller Windows med Cygwin) så er det bare og bruke PHP sin system() funksjon for og calle scriptet. Ex. <?php if(isset($_POST)) { $nummer = $_POST['nummer']; $melding = $_POST['melding']; if(strlen($nummer) == 8 && is_numeric($nummer) && !empty($melding)) { echo system("/loc/to/script.sh {$nummer} {$melding}"); } else { echo "Kunde ikke sende meldingen"; } } ?> Også må du ha en HTML form til og skrive melding og nummeret til mottaker. Endret 9. desember 2009 av Surmoth Lenke til kommentar
Stian Jacobsen Skrevet 10. desember 2009 Forfatter Del Skrevet 10. desember 2009 (endret) Jeg tenkte da å portere over til PHP. Jeg har kommet så langt som å sende SMS, men får feilmelding uansett og ingen SMS er sendt.. Så problemet ligger etter * Send the SMS <?php $user = " "; $pw = " "; $to = $user; $msg = "dette er 1 test.. æ ø å å"; $ch = curl_init(); // SETT LOGIN URL curl_setopt($ch, CURLOPT_URL, 'https://telenormobil.no/minesider/login.do'); // HTTP POST curl_setopt ($ch, CURLOPT_POST, 1); // SEND INNLOGGING curl_setopt ($ch, CURLOPT_POSTFIELDS, 'j_username='.$user.'&j_password='.$pw.'&fromweb=undefined'); // LAG COOKIE curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); // IKKE RETURNER SIDE, MEN STRENG # NEW--> curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_MAXREDIRS, 10); # <-- curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); // KJØR REQUEST (LOGIN SKJEMA) $store = curl_exec ($ch); // SJEKK OM DU ER INNLOGGET if (strpos($store, "<dt>Innlogget</dt>")) { $log = "Du er logget inn"; /** * Send the SMS * @toAddress * @message * @b_send */ curl_setopt($ch, CURLOPT_URL, 'https://telenormobil.no/ums/compose/send.do'); // Muligens prosess.do, men den fugerer heller ikke curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, 'toAdress='.$to.'&message='.$msg.'&b_send=Send'); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); $store2 = curl_exec($ch); /** * Check if message was sent * */ if(strpos($store2, "<p>Meldingen er sendt.</p>")) { echo "SMS Sendt!"; } else { echo "Kunne ikke sende sms.."; echo $store; } } else { echo "Kunne ikke logge deg inn!"; } curl_close($ch); ?> Endret 10. desember 2009 av Stian Jacobsen Lenke til kommentar
Ernie Skrevet 10. desember 2009 Del Skrevet 10. desember 2009 (endret) Red.: Never mind. Leste feil. Red.2: Hva er det du faktisk får returnert, og hva en dump av curl_getinfo($ch)? Endret 10. desember 2009 av Ernie Lenke til kommentar
Mez Skrevet 10. desember 2009 Del Skrevet 10. desember 2009 Du må sørge for at den bruker samme cookiejar når du prøver å sende også. Lenke til kommentar
Stian Jacobsen Skrevet 10. desember 2009 Forfatter Del Skrevet 10. desember 2009 Ok har fått til det meste nå.. men jeg sitter på jobb så jeg har ikke muligheten til å ferdiggjøre scriptet, MEN, når jeg kommer hjem skal jeg separere innlogging og sms-sending + inkludere adresseboken. Det eneste er at tegnene æ ø å etc.. ikke blir rett. Jeg har prøvd det meste, utf_encode, header med charset utf-8.. <?php header("Content-Type: text/html;charset=utf-8"); $user = " "; $pw = " "; $to = "12345678"; $msg = empty($_GET['msg']) || !isset($_GET['msg']) ? "dette er æ ø å 1 test.. å" : $_GET['msg']; $cookie = "curlycookie-".time().".txt"; $logged = false; $ch = curl_init(); /** * Login * @j_username * @j_password * @fromweb */ if($logged == false) { curl_setopt($ch, CURLOPT_URL, 'https://telenormobil.no/minesider/login.do'); curl_setopt ($ch, CURLOPT_POST, 1); curl_setopt ($ch, CURLOPT_POSTFIELDS, 'j_username='.$user.'&j_password='.$pw.'&fromweb=undefined'); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_MAXREDIRS, 10); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); $login_res = curl_exec ($ch); $logged = strpos($login_res, "<dt>Innlogget</dt>") ? true : false; } /** * Send the SMS * @toAddress * @message * @b_send */ $msg = prepsms($msg); curl_setopt($ch, CURLOPT_URL, 'https://telenormobil.no/ums/compose/sms/process.do'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, 'toAddress='.$to.'&message='.urlencode($msg).'&b_send=Send'); curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $send = curl_exec($ch); /** * Check if message was sent * */ echo strpos($send, "<th>Sendt:</th>") ? "SMS Sendt!" : "Kunne ikke sende sms.."; curl_close($ch); ?> Lenke til kommentar
Mez Skrevet 10. desember 2009 Del Skrevet 10. desember 2009 Prøv utf 8 decode på selve beskjeden. Jeg må gjøre det når jeg sender via Clickatell API. Lenke til kommentar
Stian Jacobsen Skrevet 10. desember 2009 Forfatter Del Skrevet 10. desember 2009 Prøv utf 8 decode på selve beskjeden. Jeg må gjøre det når jeg sender via Clickatell API. $msg = prepsms($msg); skal egentlig være utf_decode($msg) Så jeg har prøvd det.. urlencode() fjerner vell ikke æ ø å? Lenke til kommentar
Mez Skrevet 10. desember 2009 Del Skrevet 10. desember 2009 (endret) Min kode som jeg bruker mot clickatell ser sånn ut: $sms['to'] = "47" . $_POST['to']; $sms['from'] = $_POST['from']; $sms['user'] = "hemmelig"; $sms['password'] = "hemmelig"; $sms['api_id'] = "hemmelig"; $sms['text'] = utf8_decode($_POST['text']); $sms['callback'] = 3; $query = http_build_query($sms); $res = file_get_contents("http://api.clickatell.com/http/sendmsg?" . $query); Ser at du bruker curl og post, så blir vel ikke helt relevant. Men med det oppsettet mitt så funker det hvertfall med æ,ø og å. Endret 10. desember 2009 av Mez Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå