Avatar billede destiny Nybegynder
13. april 2004 - 20:32 Der er 6 kommentarer og
1 løsning

Script som poster til en url og bearbejder resultatet fra siden

Hej

Jeg er ved at lave en SMS gateway og jeg skal bruge et PHP eksempel til hvordan det fungere.

Scriptet skal kunne sende 4 variabler til en URL (POST/GET) og læse den side som bliver genereret på bagrund af de 4 variabler.

REQUEST:

URL:
http://81.19.251.82/sms/SMSSend.asp

Variabler:
PhoneNumber
MessageText
Username
Password

Fx:
http://81.19.251.82/sms/sms.asp?PhoneNumber=20202020&MessageText=Hej+Med+Dig&Username=MitBrugernavn&Password=MinAdgangskode

SVAR:
Der vil blive genereret en tekststreng som skal opdeles i 3 variabler (adskidt af komma):

[int],[int],[string]

fx:
0,11,Invalid Login

som scriptet så skal kunne arbejde videre med. Jag har lavet koden til ASP men mangler til PHP, hvis det er muligt.

ASP-KODE:
<%
' Variabler hentes fra formular
PhoneNumber = Request("PhoneNumber")
MessageText = Request("MessageText")
Username = Request("Username")
Password = Request("Password")

' Variabler sendes til sms-system
Set objSrvHTTP = Server.CreateObject ("MSXML2.ServerXMLHTTP")
objSrvHTTP.open "GET","http://81.19.251.82/sms/SMSSend.asp?PhoneNumber=" & PhoneNumber & "&MessageText=" & MessageText & "&Username=" & Username & "&Password=" & Password & "", false
objSrvHTTP.send

' Svar indsættes i variabel
strResult = objSrvHTTP.responseText

' Svar indsættes i et array opdelt af komma og derefter i variabler
arrayResult = Split(strResult, ",")
MessageID = arrayResult(0)
MessageStatus = arrayResult(1)
MessageStatusText = arrayResult(2)

'Svar udskrives
Response.Write("MessageID: " & MessageID & "<br>")
Response.Write("MessageStatus: " & MessageStatus & "<br>")
Response.Write("MessageStatusText: " & MessageStatusText & "<br>")
%>

Er der nogen som har mod på at lave det og eventuelt uploade det til en server så jeg kan se det?
Avatar billede dennismp Nybegynder
13. april 2004 - 21:35 #1
Prøv denne. Den kræver URL-wrappers (du får en fejl hvis din server ikke kan li' det.)

<?php
$PhoneNumber = $_GET['PhoneNumber'];
$MessageText = $_GET['MessageText'];
$Username = $_GET['Username'];
$Password = $_GET['Password'];

$result = file_get_contents("http://81.19.251.82/sms/SMSSend.asp?PhoneNumber=" . $PhoneNumber . "&MessageText=" . urlencode($MessageText) . "&Username=" . urlencode($Username) . "&Password=" . urlencode($Password));

if( $result === false ) {
  print "Couldnt retrieve information";
}

list($MessageID,$MessageStatus,$MessageStatusText) = explode(',',$result);

print "MessageID: $MessageID<br>";
print "MessageStatus: $MessageStatus<br>";
print "MessageStatusText: $MessageStatusText<br>";
?>
Avatar billede dennismp Nybegynder
13. april 2004 - 21:37 #2
ret if-sætningen, så den ikke forsætter:

if( $result === false ) {
  print "Couldnt retrieve information";
  exit;
}
Avatar billede destiny Nybegynder
13. april 2004 - 22:02 #3
Det ser godt ud. Du har ikke tilfældigvis en server som du kan ligge det på så jeg kan teste det? Eller nogen andre måske?

Har desværre ikke en selv
Avatar billede dennismp Nybegynder
13. april 2004 - 22:14 #4
joda
http://dennis.moellegaard.dk/v4/php/488883.php?PhoneNumber=33&MessageText=Test&Username=foo&Password=bar

har lige rettet (så at den skulle både klare GET og POST)
$PhoneNumber = $_REQUEST['PhoneNumber'];
$MessageText = $_REQUEST['MessageText'];
$Username = $_REQUEST['Username'];
$Password = $_REQUEST['Password'];

Koden der ligger på min server, du kan se den her:
http://dennis.moellegaard.dk/v4/php/488883.php?PhoneNumber=33&MessageText=Test&Username=foo&Password=bar&source=2
Avatar billede destiny Nybegynder
13. april 2004 - 22:18 #5
Det kunne jo ikke være bedre! Mange tak
Avatar billede destiny Nybegynder
13. april 2004 - 22:19 #6
Har du måske også en ide til et CGI-Script som kan gøre det samme?
Avatar billede dennismp Nybegynder
13. april 2004 - 22:53 #7
Jo, det burde heller ikke være så svært. Men jeg skal have indhentet noget søvn iaften. Måske imorgen :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester