NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Komunikace Server - klient

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Gramli
Tvůrce
Avatar
Gramli:27.10.2013 20:10

Měl bych problém s komunikací se serverem, který je napsaný v Jave. Potřebuju ze serveru dostat ResponseMessage. Java na to má metodu getResponseMes­sage(), ale c# ne. Nevíte někdo čím tuhle metodu v C# nahradit?

Komunikace probíha přes HTTPS protokol a u C# klienta používám třídu httpWebRequest, přičemž response je napsany takhle:

var httpResponse = (HttpWebRespon­se)httpWebrequ­est.GetRespon­se();
using (var streamReader = new StreamReader(httpRes­ponse.GetRespon­seStream(), encoding))
{
while (streamReader­.ReadLine() != null)
{
response = streamReader.Re­adLine()
}
streamReader.Clo­se();
}
ve stringu response dostanu HTML kód, který ResponseMessage neobsahuje.

Díky za odpovědi.

Odpovědět
27.10.2013 20:10
Kdo to říká ten to je...
Avatar
Odpovídá na Gramli
Josef Kuchař - Pepa489:27.10.2013 20:14

Na kód je tu tlačítko:D

Nahoru Odpovědět
27.10.2013 20:14
2x piš, jednou debuguj
Avatar
Odpovídá na Gramli
Michal Žůrek - misaz:27.10.2013 20:19

no ty musíš deklarovat proměnnou typu HttpWebResponse, pak HttpWebRequest. Request zavoláš a získáš z něho response, předpokládám že v dokomentaci bude někde example.

 
Nahoru Odpovědět
27.10.2013 20:19
Avatar
Lako
Člen
Avatar
Odpovídá na Gramli
Lako:27.10.2013 20:24

Jednou jsem řešil podobnou věc.

WebRequest request = WebRequest.Create("http://adresa.cosi");
                request.Method = "GET";
                WebResponse response = request.GetResponse();
                StreamReader reader = new StreamReader(response.GetResponseStream());
var message = reader.ReadToEnd();
 response.Close();

tak třebas ti to pomůže

Editováno 27.10.2013 20:25
 
Nahoru Odpovědět
27.10.2013 20:24
Avatar
Gramli
Tvůrce
Avatar
Gramli:27.10.2013 20:28

RE: Misaz
Použiju tedy tlačítko;-)

var httpResponse = (HttpWebResponse)httpWebrequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream(), encoding))
{
while (streamReader.ReadLine() != null)
{
response = streamReader.ReadLine()
}
streamReader.Close();
}

Ten declarovaný samozdřejmě mám (je to v kódu). Podle dokumentace bych mel dostat integer. A dostanu prostě HTML.(V dokummentaci priklad neni..)

Editováno 27.10.2013 20:30
Nahoru Odpovědět
27.10.2013 20:28
Kdo to říká ten to je...
Avatar
Gramli
Tvůrce
Avatar
Gramli:27.10.2013 20:45

Ještě k tomuhle

response += streamReader.ReadLine()

má tam být += -> string si nepřepisuju:)

Nahoru Odpovědět
27.10.2013 20:45
Kdo to říká ten to je...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.