Avatar billede lasserasch Juniormester
16. november 2009 - 21:52 Der er 6 kommentarer og
1 løsning

HttpRequest/Response problem. Virker første gang, men timer så ud.

Hey...

Jeg forsøger at sende data til en URL fra min kode.
Bruger HttpWebRequest til at gøre det.

Det virker fint første gang. Men 2. gang får jeg en "The operation has timed out" exception.

Nogen som kan fortælle hvad jeg gør galt??

Min metode er vedhæftet herunder.

Mvh.
Lasse



public string Send()
                {


                    // Make HTTP Post Request
                    string msg = System.Web.HttpUtility.UrlEncode(Message, System.Text.Encoding.GetEncoding("iso-8859-1"));
                    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://www.google.com");

                    request.Credentials = CredentialCache.DefaultCredentials;
                    request.ContentLength = 1;
                    request.KeepAlive = false; 
                    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                    Stream dataStream = response.GetResponseStream();
                    StreamReader reader = new StreamReader(dataStream);
                    string responseFromServer = reader.ReadToEnd();
                   
                    // Clean Up
                    reader.Close();
                    dataStream.Close();
                    response.Close();
                   
                    // Return
                   
                    return responseFromServer;
                }
Avatar billede arne_v Ekspert
16. november 2009 - 21:57 #1
Jeg undrer mig lidt:
- default er GET ikke POST
- du sende ikke msg
- du saetter content length til 1 men sender ikke noget

Jeg tror at fejlen enten skyldes dette eller at Google er lidt picky. Normalt skal man saette user agent til en valid browser for at faa lov til at bruge Google.
Avatar billede lasserasch Juniormester
16. november 2009 - 22:07 #2
Hey Arne.

1. Korrekt. Det er min kommentar som ikke skulle være der. Forsøgte først med Method = "POST"; Det virkede ikke, men fik ikke fjernet min kommentar.

2. Jeg skal bruge det til at afsende sms beskeder hos Mobitech.dk Og Msg strengen er meget lang og gjorde indlægget unødvendigt indviklet her på eksperten. Så derfor har jeg erstattet så jeg pt. kun bruger "http://www.google.com" til at sende til. I URL'en til Mobitech bruger jeg Msg.

Det er dog ikke afgørende for mit problem. Jeg får fejlen uanset som jeg sender til www.google.com, www.r-coding.dk eller noget helt andet. :-(

Som sagt virker det fint først gang. Metoden her bliver kaldt fra en Windows Applikation ved tryk på en knap. Men ved forsøg nr. 2 (Uden at have afsluttet min windows applikation) timer den så ud.

Det sker på linjen 'HttpWebResponse response = (HttpWebResponse)request.GetResponse();'

Der må være noget jeg mangler at lukke. Men kan bare ikke se hvad...

Mvh.
Lasse
Avatar billede lasserasch Juniormester
16. november 2009 - 22:10 #3
Hov.... Du havde ret mht. Content length.

Hvis jeg sletter denne linje så virker det fint...

Takker for hjælpen :-)

Mvh.
Lasse
Avatar billede lasserasch Juniormester
16. november 2009 - 22:10 #4
Smid et svar...
Avatar billede arne_v Ekspert
16. november 2009 - 22:12 #5
ok
Avatar billede arne_v Ekspert
14. december 2009 - 03:21 #6
så mangler du bare at acceptere
Avatar billede lasserasch Juniormester
14. december 2009 - 11:01 #7
Sorry.... Hermed gjort :-)

Mvh.
Lasse
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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