FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Jag skickar en WebRequest med "POST" från en aspx-sida till ett windowsprogram.
Detta fungerar lokalt som med ovan adress (http://localhost), POST:arjag detta mot ett IP mot en annan dator där programmet ligger fungerar inte detta, headern loggas, men bodyn blir tom. Men kör jag igång Fiddler och analyserar trafiken så fungerar det plötsligt genom att requesten går via Fiddlers proxy. servern jag skickar POST:en till får bara headern antar jag, själva bodyn finns inte med i requesten hit. Så servern kan inte processa min request på ett korrekt sätt, men själva responsen servern skickar tillbaka får jag tillbaka. Denna responsen blir givetvis inte den response jag hade tänkt mig då servern får en felaktigt request. Jag får alltså inget exception. Är det någon som har stött på detta, eller har tips på ideér. Kod:
string lcUrl = "http://XX.XX.XXX.XX"; // *** Establish the request HttpWebRequest loHttp = (HttpWebRequest)WebRequest.Create(lcUrl); string lcPostData = testdata; loHttp.Method = "POST"; byte [] lbPostBuffer = System.Text.Encoding.GetEncoding(1252).GetBytes(lcPostData); loHttp.ContentLength = lbPostBuffer.Length; loHttp.Credentials = CredentialCache.DefaultCredentials; //loHttp.SendChunked = true; loHttp.ServicePoint.Expect100Continue = false; Stream loPostData = loHttp.GetRequestStream(); loPostData.Write(lbPostBuffer, 0, lbPostBuffer.Length); loPostData.Close(); HttpWebResponse loWebResponse = (HttpWebResponse)loHttp.GetResponse(); Encoding enc = System.Text.Encoding.GetEncoding(1252); StreamReader loResponseStream = new StreamReader(loWebResponse.GetResponseStream(), enc); string lcHtml = loResponseStream.ReadToEnd(); loWebResponse.Close(); loResponseStream.Close(); |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Banned
|
Testat med Firefox och FireBug?
|
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Medlem
|
Ny ledtråd! Jag har sniffat trafiken och paketen som skickas med WireShark, och i det här programmet kan man då följa en TCP-ström.
När det blir fel ser jag detta: När jag sniffar trafiken på min dator med WireShark så ser jag att request-header skickas först, sedan kommer response-header och response-body, och slutligen request-bodyn. När det blir korrekt, t.ex. när jag användre fiddler: Då skickas Request-body och request-header och sedan kommer response-header och response-body, precis så som det bör vara. Någon som förstår sig på varför det kan bli såhär? |
||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Mycket flitig postare
|
Aha! Det är härifrån jag känner igen namnet.
![]() Återkom gärna med svar om du lyckas lösa problemet eftersom det kan vara bra att känna till. Jag tycker som sagt att det verkar mysko. |
|||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Medlem
|
hehe =) ja, det var juh som sagt fel på serversidan, så problemet är löst nu. Vet inte vad problemet va då servern va gjord i pascal. Det var tydligen nån http-komponent som sakndes. Det fungerade dock göra en webrequest med fiddler och ett annat testprogram. Tack för hjälpen iaf.
|
||
![]() |
![]() |
Svara |
|
|