Gå til innhold

Sende til Netcom API fra visual c#


Anbefalte innlegg

Hei! Jeg har nå i flere dager prøvd å få netcom sitt firebolt API til å godta  æ ø å uten suksess.

Her er dokumentasjon:https://telia.no/documents/10156/12217/smsbedriftapi_techndoc.pdf

 

Når jeg sender request fra Internett explorer så fungerer det. Fra c# så fungerer det ikke.

 

Kan noen ta en titt på koden min å komme med tips? har prøvd i flere dager, vet ikke hva jeg skal prøve mer.

 

 public string smsRequestTest(string username,string password,string phoneNumber,string message)
        {
            WebClient client = new WebClient();
           
            byte[] bytesToEncode = Encoding.UTF8.GetBytes(username + ":" + password);
            string encodedPassword = Convert.ToBase64String(bytesToEncode);
            
            NameValueCollection nvc = new NameValueCollection(); //Stores post data
            nvc.Add("POST", "/sms/send HTTP/1.1");
            nvc.Add("number", "4798231631"); //value 1
            nvc.Add("message", "heiøæå\x20ac"); //value 2
            
            client.Headers.Add("Authorization", "Basic "+encodedPassword);
            nvc.Add("content-type", "application/x-www-form-urlencoded");
            nvc.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko");
            nvc.Add("Host", "localhost:8080");
            nvc.Add("Accept", "text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2");
            nvc.Add("Connection", "Keep-alive");
            nvc.Add("Content-length", "400");
            nvc.Add("Accept-Encoding", "gzip, deflate");
            
            client.Encoding = Encoding.UTF8;
            byte[] tmp = client.UploadValues("http://firebolt.netcom.no:8080/sms/send",nvc); //request
            response = Encoding.UTF8.GetString(tmp);
            return response;
        }
Lenke til kommentar
Videoannonse
Annonse

Har også prøvd alt mulig av encoding. Jeg bruker fiddler for å se på trafikken, å det ser ut som data fra c# appen blir unikode uansett. %20 ++.

 

Fra IE ser dataen i fiddler anderledes ut. Der er æ ø å erstattet med spørsmålstegn.

Lenke til kommentar

Hei! firebolt.telia.no fungerer ikke, den svarer ikke. Hvis man ser i den dokumentasjonen, på skjermbildene, så bruker de også netcom.

Merkelig av telia å ha slik dokumentasjon. 

 

netcom linken fungerer, kjører jeg get request rett i internett explorer så funker alt. Fra mitt c# så funker alt, untatt æ ø å

Lenke til kommentar
  • 3 uker senere...

jeg har akkurat samme problemet med en annen leverandør av web services.   Funker i nettleseren, men stopper i C#.   Det var forresten merkelig at fiddler viser at norske tegn blir til ?

Folkene bak API'et jeg skal ta i bruk holder på å analyserer, men når jeg leser inlegget ditt så lurer jeg på om dette faktisk ikek ligger på APIet i det hele tatt.  Jeg opplever også at norske tegn blir erstattet med UNICODE versjonene av disse og hadde forsåvidt forventet dette.  En ting er i hvertfall sikkert, norske tegn har skapt historiske konsulentbidrag oppigjennom :-)

 

Kommer tilbake til tråden hvis jeg løser mitt eget problem...

Lenke til kommentar

Mange av tinga du sender skal være i client.Headers. Det er bare message og phoneNumber som skal bli sendt med i nvc.

 

> nvc.Add("POST", "/sms/send HTTP/1.1");

 

Er vel også strengt tatt ganske unødvendig?

 

Når det gjelder enkoding så mener jeg å huske at Telia i likhet med de andre teleoperatørene bruker sitt eget tegnsett, ikke unicode? Er litt usikker.

Lenke til kommentar
  • 7 måneder senere...

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...