Stránka: 1 z 1
| [ Príspevkov: 26 ] | |
Autor | Správa |
---|
Registrovaný: 01.05.07 Prihlásený: 23.07.19 Príspevky: 420 Témy: 151 | 151 |
ahojte,
budem potrebovať spracovávať smsky od uživateľov, tak sa snažím pochopiť princíp už niekoľko dní, aby som si mohol napísať sám skript čo potrebujem. kontaktoval som firmu čo ponúka sms službu. a bude to fungovať tak, že oni mi pošlú pomocou http POST, XML súbor v ktorom bude smska. Ja potrebujem tento súbor spracovať, vygenerovať kód, ktorý bude slúžiť ako kod k danému obsahu.
teraz som narazil na túto stránku http://www.ozekisms.com/index.php?owpn=324, a kúsok ma to zmiatlo. Je tam nejaký návod, a hovorí sa tam o inštalácii SMS Gateway. A chcel som sa opýtať - ja to nebudem potrebovať, alebo hej? Lebo si myslím, že ten Gateway bude mať tá spoločnosť, ktorá mi potom smsky pošle ako súbor XML.
tak zatiaľ toľko. idem googliť dalej, asi pribudnú otázky
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
ak ti budu poskytovat info o sms, tak nic ine u seba instalovat nemusis - o vsetko sa postara dana firma (zuctovanie, prijimanie sms od operatorov a pod)
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 01.05.07 Prihlásený: 23.07.19 Príspevky: 420 Témy: 151 | 151 |
to znamená, že mne stačí skript, ktorý príjme daný XML súbor, vygeneruje nejaký kod, hodí ho do databázy (aby sa potom mohol overit uživatelom vložený kod), vytvorí odpoveď vo forme XML, a odošle to pomocou http post tej firme?
tak nejak si to predstavujem, že to asi bude fungovať. ak sa mýlim, tak ma prosím oprav.
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | 0 |
Z toho, čo píšeš v prvom príspevku potrebuješ skript, ktorý spracuje tie údaje (ktoré ti poskytovateľ tej služby odošle pomocou POST). Čiže ak si už robil nejaký php/html skript, ktorý obsahuje form a používa sa tam POST metóda, určite budeš schopný vytvoriť potrebný skript, ktorý tie údaje spracuje (a ak bude potrebné, tak vráti odpoveď, ktorú očakáva systém poskytovateľa tej SMS služby).
|
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | 2 |
poslu ti xml subor alebo xml stream ? ak xml stream, tak to pripomina soap alebo xml-rpc.
|
|
Registrovaný: 01.05.07 Prihlásený: 23.07.19 Príspevky: 420 Témy: 151 | 151 |
no xml súbor (aspon myslím). ako to mám zistiť?
v dokumente od nich je napísané toto:
"Predání SMS partnerovy je rešeno metodou HTTP POST. Data jsou posílána v XML v tele požadavku s content-type 'text/xml'. Pokus o predání je uskutecnen obvykle nekolikrát do minuty (timeout požadavku je nastaven na 15 vterin), pokud se predání nepodarí, je pokus opakován po cca. 15 minutách. Predání je
považováno za úspešné tehdy, když HTTP STATUS požadavku je 200, v jiném prípade bude vždy balík SMS dorucen znovu."
potom je tam ukážkový xml súbor, takže asi to nebude stream.
chrono: no práve som si tiež hovoril, že by to nemalo byť nejak zložité, preto som sa do toho pustil. akurát potrebujem porozumieť kúsok posielaniu súborov pomocou http post a naučit sa spracovať súbor pomocou php.
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | 0 |
Posielanie súborov pomocou POST ťa bude zaujímať len kvôli testovaniu. Na to môžeš použiť wget alebo curl. S programom curl by to mohlo vyzerať napr. takto: Kód: curl --header 'content-type: text/xml' --data-binary @test.xml -X POST http://example.com/sms.php
Ty musíš urobiť skript, ktorý overí metódu a typ prenášaných dát a potom načíta a spracuje telo žiadosti (buď pomocou php rozšírenia HTML, alebo spracovaním php://input).
|
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | 2 |
davider137 to ze ti ukazkove xml poslali ako subor neznamena ze ti ho neposlu ako stream . ajko inak ti mali tu ukazku poslat ak nie ako subor ? radsej si nastuduj v php http://php.net/manual/en/reserved.varia ... stdata.php lebo mam silny pocit ze ti to xml budu posielat ako raw data cez post. cize si najprv nacitas header a ak tam najdes content-type 'text/xml' tak si cez rawpostdata nacitas to xml.
|
|
Registrovaný: 01.05.07 Prihlásený: 23.07.19 Príspevky: 420 Témy: 151 | 151 |
dík chalani za rady. zíde sa mi to veľmi. musím ale najprv naštudovať niečo o hlavičkách v php, a tiež o http post, lebo v tom mám medzery. potom sa asi ozvem zase // pridané po 13 hodinách 50 minútach od posledného príspevkutakže som sa do toho pustil, a hned som skúsil jednoduchú vec. spravil som skript (resp. našiel som na internete), ktorý uloží do premennej načítané data:
Kód: <?php
if ( $_SERVER['REQUEST_METHOD'] === 'POST' ) { $postText = $GLOBALS['HTTP_RAW_POST_DATA']; echo $postText; }
?> doplnil som ho o echo. inak skutočne mi budú data posielat ako raw data, a veľmi ďakujem za navedenie - mne by to nenapadlo zistovat. dalej mám jednoduchý html súbor na uploadovanie súborov, ktorý smeruje na ten horný súbor, ktorý ukladá načítané data do premennej: Kód: <html> <body>
<form enctype="multipart/form-data" action="citanie.php" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="100000" /> Choose a file to upload: <input name="uploadedfile" type="file" /><br /> <input type="submit" value="Upload File" /> </form> </body> </html>
v počítači mám jeden xml súbor, ktorý som hned vzrušený vyskúšal. vzrušenie opadlo, ked som videl na obrazovke jednu "0". živá ukážka je tu:
http://www.jazykoveforum.info/rawdata/upload.html
inak k tomu čítaniu tých raw dat sa mi zdá nejak málo informácii, akože hladal som v googli raw data php, a relevantných bolo pár odkazov na začiatku, ale pojednávali o tom dosť stručne; mám hľadať niečo iné? mám aj php for teens stihnuté, aj php kurz lahko a rýchlo, a ako som to tak prešiel, nevenujú sa tam tejto problematike. vedeli by ste poradiť niečo k tomu? to je také banálne a som blbý že to nechápem? alebo sa to nepoužíva? alebo hľadám zlé slovné spojenia?
nič no...už píšem vela....som unavený...idem spať...dobrú noc...budem rád za každú otázku
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | 0 |
Ak chceš vidieť nejaké údaje musíš použiť formulár s normálnymi vstupnými elementami (upload súboru tam asi nebude fungovať), alebo použi curl / wget. Pri tom curl môžeš použiť to, čo som písal vyššie a teda niečo ako: Kód: curl --header 'content-type: text/xml' --data-binary @test.xml -X POST http://www.jazykoveforum.info/rawdata/citanie.php (v tom adresári, z ktorého to budeš spúštať musíš mať súbor s názvom test.xml)
|
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | 2 |
alebo pouzi xmlhttprequest
Kód: ... xmlHttpRequest.Open("POST", "http://www.jazykoveforum.info/rawdata/citanie.php", false); xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8"); xmlHttpRequest.setRequestHeader("Content-Length", xml.length); xmlHttpRequest.send(xml); ...
xml posielaj ako
xmlHttpRequest.send('<?xml version="1.0"?><SMS>blablabla</SMS>');
|
|
Registrovaný: 01.05.07 Prihlásený: 23.07.19 Príspevky: 420 Témy: 151 | 151 |
dík za ochotu. rozhodol som sa nakoniec pre ten curl. ono ja budem potrebovať aj postovať odpoveď spať na ich server, takže sa učím aj ten sposob postnutia s curl - v podstate tým začínam, lebo to potrebujem aby som mohol testovať spracovanie.
vzhľadom na to, že som nový v práci s curl, tak si o tom čítam nejaké veci. a vačšinou sa v návodoch vyskytuje niečo také:
Kód: ... $curl=curl_init($url); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HTTPHEADER, $header); curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate'); curl_setopt($curl, CURLOPT_AUTOREFERER, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_TIMEOUT, 10); ...
chápem správne tomu, že tvoj zápis Kód: --header 'content-type: text/xml' je v podstate totožný s Kód: curl_setopt($curl, CURLOPT_HTTPHEADER, 'content-type: text/xml') ?
to len tak, aby som vedel či chápem tomu čo som si prečítal. ešte raz dík za trpezlivosť
|
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | 2 |
postovat odpoved ? myslel som ze oni tebe postnu xml a ty im na ich post odpovedas pomocou response .
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
coldak píše: alebo pouzi xmlhttprequest Nemoze (ak mas na mysli ten Javascriptovy XMLHttpRequest), pretoze ten sa neda pouzit na komunikovanie medzi odlisnymi domenami. Navyse mas v tych par riadkoch kodu sakra vela chyb.
|
|
Registrovaný: 01.05.07 Prihlásený: 23.07.19 Príspevky: 420 Témy: 151 | 151 |
no odpoveď pojde podľa dokumentácie formou POST. ale ono keď dám response, tak to asi ide tiež postom nie? inak sú tie dva zápisy ktoré som uviedol rovnaké (splnajú rovnakú funkciu)?
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Odpoved nemoze ist POSTom, pretoze odpoved na rozdiel od poziadavky nerozlisuje metody.
Ano, tie zapisy robia to iste, nastavuju HTTP hlavicky poziadavky.
|
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | 2 |
Ďuri píše: Nemoze (ak mas na mysli ten Javascriptovy XMLHttpRequest), pretoze ten sa neda pouzit na komunikovanie medzi odlisnymi domenami. Navyse mas v tych par riadkoch kodu sakra vela chyb.
XMLHTTPRequest ma pouzit len na otestovanie svojho spracovania POSTU , tak netusim ake odlisne domeny a ten kod je tam len ako nasmerovanie, samozrejme ze mu tu nebudem pisat komplet kod.
|
|
Registrovaný: 01.05.07 Prihlásený: 23.07.19 Príspevky: 420 Témy: 151 | 151 |
"Príjem od partnera je rešen metodou HTTP POST. Data jsou posílána v XML v tele požadavku s content
type 'text/xml'. Každá operace má svuj tag a jedinecný identifikátor. Odpoved na požadavek je v XML, kde
ke každému identifikátoru je prirazen 'chybový' kód."
vy ste asi tou "response" mali na mysli to, že ked budu data doručené, tak že sa pošle odosielajúcemu servru ten kod 200, akože všetko v poriadku.
lenže ja budem musieť spracovať smsku od toho človeka, vygenerovať kod, a ten dat do xml, a zaslať to, aby mu prišiel ako odpoveď na jeho smsku, a mohol ho zadať na webe, a dostať tak prístup. a to už pojde cez POST nie?
|
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | 2 |
kod 200 iba hovori ze si prijal request a bez problemov si ho spracoval, odpoved bude v nasledujucom response contente . kod 200 ide uz v response hlavicke. no mal by si si najprv prestudovat http komunikaciu rfc2616, bez toho to budes mat tazke
|
|
Registrovaný: 01.05.07 Prihlásený: 23.07.19 Príspevky: 420 Témy: 151 | 151 |
no snažímm sa práve doteraz som takéto kapitoly "preskakoval" // pridané po 18 hodinách 26 minútach od posledného príspevkuOK. niečo som si prečítal v tom rfc, a kombinujem to s inými vecami. v každom prípade by som sa chcel opýtať na 2 veci - neviete o nejakej dobrej knihe alebo stránke na toto téma? furt skáčem hore dole, mám otvorených kopu panelov so stránkami čo sa tomu rozne venujú; ale príde mi, že sú buď úplne banálne - proste že sa tam rozoberajú veci ktorým chápem, alebo už komplikovanejšie a chýba mi nejaký medzi stupeň. bol by som rád za radu ohladom nejakého študijného materiálu. viem že sa to nedá naučit za pár dní, ale potrebujem tomu chápať aspoň tak aby som spojazdnil tie smsky.
dalšia vec: chápem správne, že budem musieť využiť SOAP protokol na túto komunikáciu? lebo ako som pochopil, SOAP sa často kombinuje s HTTP; budem teda musieť spraviť u seba SOAP server. chápem správne?
dakujem
|
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | 2 |
davider137 píše: dalšia vec: chápem správne, že budem musieť využiť SOAP protokol na túto komunikáciu? lebo ako som pochopil, SOAP sa často kombinuje s HTTP; budem teda musieť spraviť u seba SOAP server. chápem správne?
dakujem
zalezi od toho ci to xml je urcene na spracovanie cez soap. ak to nieje problem, nebolo by odveci sem vlozit nejake ukazkove xml.
|
|
Registrovaný: 01.05.07 Prihlásený: 23.07.19 Príspevky: 420 Témy: 151 | 151 |
no je tam takéto ukážkové xml. všimol som si že ak to ide cez soap tak že tam sú tagy soap envelope atd... čo by napovedalo tomu že tu sa soap nepoužije.
Kód: <?xml version="1.0" encoding="UTF-8" ?> <messages> <sms uniq="2" sender="+420731545945" recipient="9001103" okey="T2" opid="tmsms" opmid="" ts="2006-04-10 09:32:18">test2</sms> <sms uniq="3" sender="+420731545945" recipient="9001103" okey="T2" opid="tmsms" opmid="" ts="2006-04-10 09:32:23">test3</sms> </messages>
lenže toto bola ukážka z technickej dokumentácie. ale potom mi ešte poslali ponuku a tam už píšu:
Citácia: Služba SMS PORT umožňuje klientovi přijímat a odesílat SMS zprávy z/do mobilních sítí (od uživatelů/uživatelům mobilních sítí) a to prostřednictvím specifických přidělených čísel služeb společnosti a samostatného technického připojení klienta do infrastruktury společnosti technicky realizovaném asynchronně komunikačním protokolem SOAP zabezpečeným VPN nebo htpps (podrobný popis uveden v článku IV této přílohy).
ked tak som dal oba dokumenty tuna:
www.jazykoveforum.info/dokumenty/technickadok.pdf
www.jazykoveforum.info/dokumenty/ponuka.doc
|
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | 2 |
to je daka haluz, v technickej dokumentacii ziadny SOAP nespominaju a v ponuke len okrajovo
|
|
Registrovaný: 27.11.08 Prihlásený: 30.01.20 Príspevky: 630 Témy: 98 | 98 Bydlisko: Veľký Krtíš... |
predpokladám, že im zadáš adresu skriptu, na ktorý ti majú odosielať prijaté SMS od tvojho zákazníka
dostaneš XML súbor, ktorý objaví sa v poli $_POST
pomocou nejakej knižnice súbor spracuješ - odporúčam XMLReader
príklad:
Kód: $xml = new XMLReader; //načítanie knižnice (potrebuješ rozšírenie PHP pre XML - //na väčšine hostingov bude asi nainštalované) $xml->xml($_POST['SMS']); //kľúč v poli obsahujúci XML súbor - uprav si ho $sms = array();
while($xml->read()) //prechádzanie jednotlivých elementov v XML súbore { //ak sme narazili na začiatočný element s názvom sms if($xml->node === XMLReader::ELEMENT AND $xml->name == 'sms') { $sms[] = array( 'uniq' => $xml->getAttribute('uniq'), //získame atribúty elementu 'sender' => $xml->getAttribute('sender'), 'recipient' => $xml->getAttribute('recipient'), 'okey' => $xml->getAttribute('okey'), 'opid' => $xml->getAttribute('opid'), 'opmid' => $xml->getAttribute('opmid'), 'ts' => $xml->getAttribute('ts'), 'text' => $xml->readString(), //získame text, ktorý element obsahuje ); } }
var_dump($sms); //vypísanie poľa $sms
|
|
Registrovaný: 01.05.07 Prihlásený: 23.07.19 Príspevky: 420 Témy: 151 | 151 |
Díky ľudia. Dík Draex za kod. Oni mi práve nepošlú súbor, ale raw data. v každom prípade dík za radu na knižnicu; už som sa na nu pozeral, skúšam sa s nou hrať. teraz mám problém, že som si spravil jeden jednoduchy reader:
Kód: <?php $reader = new XMLReader(); $reader->open('http://www.jazykoveforum.info/rawdata/sms.xml');
while ($reader->read()) { if ($reader->name == "sms"){ $pole = $reader->value; } echo $pole; }
?>
problém je v tom, že mi nefunguje - výsledok mi hodí "0". Aj viem čím to je - je to tým, že všetky nodes majú u mna name = #text; zistil som to, keď som dal vypísať mená všetkých nodes.
idem teraz už spať, zajtra vyskúšam si prisposobiť tvoj kod.
inak ešte živá ukážka k tomu mojmu nepodarku je na
www.jazykoveforum.info/rawdata/pullparse.php
|
|
Registrovaný: 27.11.08 Prihlásený: 30.01.20 Príspevky: 630 Témy: 98 | 98 Bydlisko: Veľký Krtíš... |
$reader->value sa používa pokiaľ prechádzaš jednotlivé atribúty a chceš získať ich hodnotu
pravdepodobne si chcel použiť $reader->readString()
|
|
Stránka: 1 z 1
| [ Príspevkov: 26 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Ostatné | 11 | 794 | 12.07.2016 20:57 miker | | v HTML, XHTML, XML, CSS | 1 | 927 | 16.12.2011 16:49 Ďuri | | v HTML, XHTML, XML, CSS | 0 | 774 | 02.11.2009 17:46 sINN3r | | v Sieťové a internetové programy | 3 | 1255 | 24.11.2010 17:34 ShadowSong | | v Sieťové a internetové programy | 1 | 845 | 27.01.2010 18:59 ToLas | | v Ekonomika, práca, biznis, podnikanie a peniaze | 1 | 457 | 17.10.2017 19:21 shiro | | v HTML, XHTML, XML, CSS | 1 | 817 | 02.04.2009 13:38 Tominator | | v HTML, XHTML, XML, CSS | 6 | 861 | 18.10.2009 9:02 Ďuri | | v PHP, ASP | 6 | 742 | 17.07.2009 23:15 p360t | | v Ostatné programy | 2 | 628 | 17.05.2016 0:41 lenuska320 | | v PHP, ASP | 22 | 1287 | 25.01.2010 16:49 Miko | | v PHP, ASP | 2 | 647 | 06.11.2010 9:57 NikonD5000 | | v HTML, XHTML, XML, CSS | 10 | 1355 | 10.05.2023 13:48 jojo46 | | v Assembler, C, C++, Pascal, Java | 1 | 436 | 04.06.2012 10:40 Siriuse | | v PHP, ASP | 2 | 651 | 29.04.2009 16:10 Draex | | v PHP, ASP | 2 | 577 | 09.09.2010 8:47 Antuanet |
|