Avatar
Gramli
Redaktor
Avatar
Gramli:

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
Nahoru Odpovědět  +1 27.10.2013 20:14
2x piš, jednou debuguj
Avatar
Odpovídá na Gramli
Michal Žůrek (misaz):

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
Nesnáším {}, proto se jim vyhýbám.
Avatar
Lako
Člen
Avatar
Odpovídá na Gramli
Lako:

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
Redaktor
Avatar
Gramli:

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
Redaktor
Avatar
Gramli:

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.