GET a POST

Sekcia: Programovanie 25.07.2011 | 13:11
Avatar dzairo Teraz nic  Používateľ
Ahoj.
Riesim problem s GET a POST.
Cez GPRS posielam poziadavky na server a chcem zachitit moje requesty.
skusal som cez GET poslat znaky ktore su aj nie tlacitelne, posielal som znkay od 0x0F do 0x80 ale zistil som ze znak : # a & je nepouzitlny.
preto so mich zacal filtrovat a na server strane som zahitil vsetkoostatne. Ale ja jotrebujem zachitavat vsetko aj # a & a preto som skusal poslat request cez POST ale nefunguje my to nevie niekto ako spravne vytvorit hlavicku aby to fungoalo??

skusal som toto:

POST /getlistener.php HTTP/1.1
Host: stream.prestiz.sk
Connection: close
Referer: http://stream.prestiz.sk/getlistener.php
Content-type: application/x-www-form-urlencodedr
Content-Length: 17

report=1234567890

ale server to podla vsetkeho neprijal

bud mi nieco chyba v hlavicke alebo neviem
pozna niekto tuto problematiku alebo nie???
Base64 nechcem pouzivat.
dakujem
    • Re: GET a POST 25.07.2011 | 13:49
      Avatar Dare_devil Debian, OpenSuse  Používateľ
      curl to musi vediet
      There is no flag large enough to cover the shame of killing innocent people
      • Re: GET a POST 25.07.2011 | 15:55
        Avatar dzairo Teraz nic  Používateľ
        a co je curl, ja mam ATmega328 MCU a generujem vsetko sam . vies viac toho napisat???
        • Re: GET a POST 25.07.2011 | 16:06
          Avatar Dare_devil Debian, OpenSuse  Používateľ
          A z akeho zariadenia posielas kam tie requesty ? A akym sposobom ?

          Skus si vyescapovat tie tvoje znaky, kt. ti neberie, pridanim '\' pred znak. napr. \&
          There is no flag large enough to cover the shame of killing innocent people
          • Re: GET a POST 26.07.2011 | 16:39
            Avatar dzairo Teraz nic  Používateľ
            Ahoj.
            Takze. Jam mam vlostny projekt na posielanie technologickych data na server. Spravil som dosku DPS s 8-bitMCU ATMega328 a GSM modul.
            Ak chcem komunikovat tak si otvorim socket na porte 80 na kamosov server ktory pise php skript na obsluhu. Otvorim socket a potom na ten otvoreny socket poslem data. v pameti si vytvorim hlavicku s datami a poslem to na server. Pouzijem GET , ale potrebujem posielat vsetky znaky a preto som skusal poslat cez POST ale nefunguje mi to . Nieke robym chybu . mozno v hlavicke alebo neviem :
            GET /getlistener.php?@&123456789012345&EUROTEL-SK&24&26,5 HTTP/1.0
            Host: stream.prestiz.sk
            Connection: close
            to je moja hlavicka s datami pre GET .
            ako bude vyzerat pre POST???
            vie niekto poradit???

            dakujem
            • Re: GET a POST 26.07.2011 | 16:44
              Avatar Dare_devil Debian, OpenSuse  Používateľ
              Co to je za sialeny parameter v GET?

              GET sa posiela typom: skript.php?nazov_premennej=nieco&dalsia=nieco&dalsia=nieco...

              najjednoduchsie by bolo pouzivat base64 popr. ine, ak chces posielat taketo divoke retazce. Preco base64 nechces?
              There is no flag large enough to cover the shame of killing innocent people
              • Re: GET a POST 26.07.2011 | 17:12
                Avatar dzairo Teraz nic  Používateľ
                ahoj , ja viem , posielaly sme cez GET znaky od (v hexa) #0F az do #90 a vsetko preslo ale nepresly znaky # & , tie som potom filtroval nasvojej strane (neposlal som ich) a vsetko fungovalo. ale hladam sposob ako to poslat komplet , ja viem base64, preco lebo chem aby moje data boly citatelne priamo nie cez konvertor base 64 . preto sme zacali skusat POST ale nedostaly sme sa nikde.
                ktore specialne znaky nesmieme pouzit pri komunikacii zo serverom apache alebo ako ich pouzit????
            • Re: GET a POST 26.07.2011 | 17:21
              Mystic Playboy   Návštevník
              POST /login.jsp HTTP/1.1
              	Host: www.stranka.sk
              	User-Agent: Mozilla/4.0
              	Content-Length: 14
              	Content-Type: application/x-www-form-urlencoded
              
              	a=data&b=data2
              

              Do Content-Length: napíšeš počet bytov čo posielaš.
              Odriadkovanie za Content-Type: je tuším povinné.
              • Re: GET a POST 26.07.2011 | 17:31
                Avatar dzairo Teraz nic  Používateľ
                POST /getlistener.php HTTP/1.0
                Host: stream.prestiz.sk
                Connection: close
                Referer: http://stream.prestiz.sk/getlistener.php
                Content-type: application/x-www-form-urlencodedr
                Content-Length: 17

                report=1234567890

                toto som posielal a nic neprislo
                • Re: GET a POST 26.07.2011 | 17:32
                  Avatar dzairo Teraz nic  Používateľ
                  alebo posledny riadok ja mam Content-Length: 17 , mozno musi byt Content-type: application/x-www-form-urlencodedr

                  • Re: GET a POST 26.07.2011 | 17:44
                    Avatar dzairo Teraz nic  Používateľ
                    toto posielam na server : Host: stream.prestiz.sk
                    Connection: keep-alive
                    User-Agent: Mozilla/4.0
                    Content-Length: 15
                    Content-Type: application/x-www-form-urlencoded

                    data=1234567890

                    toto je odpoved: HTTP/1.1 200 OK
                    Server: nginx
                    Date: Tue, 26 Jul 2011 13:42:43 GMT
                    Content-Type: text/html
                    Vary: User-Agent,Accept-Encoding
                    Content-Length: 0
                    Connection: keep-alive
                    • Re: GET a POST 26.07.2011 | 17:55
                      Avatar dzairo Teraz nic  Používateľ
                      moment zacina tofungoat asi som mal chybu v jednom znaku .... este skusam ....
                      • Re: GET a POST 26.07.2011 | 18:13
                        Avatar dzairo Teraz nic  Používateľ
                        skonci to na znaku & .
                        v com je POST iny od GET????
                        podla toho co som pochopil tak POST by mal vediet poslat vsetky znaky aj tie specialne alebo nie???
                        • Re: GET a POST 26.07.2011 | 18:34
                          Mystik Playboj   Návštevník
                          Každý protokol má riadiace znaky, v HTTP napríklad znak & spája premenné, tu musíš použiť escape sekvenciu \&. Prijaté dáta potom preženeš cez stripslashes.