Autor Téma: TNetHTTPClient a TNetHTTPRequest odeslání metodou post TJSONObject  (Přečteno 298 krát)

Offline bluebat

  • Nováček
  • *
  • Příspěvků: 2
  • Karma: 0
    • Verze Delphi: 10.2 Tokyo
Zdravím všechny, nejsem žádný expert a tak možná je někde něco, co mi absolutně nedocvaklo...

Jde o Delphi 10.2 Tokyo

Viděl jsem na nějakých prezentacích Bootcamp nebo tak nějak nové komponenty TNetHTTPClient a TNetHTTPRequest.  ahned mně napadlo, že s nimi by mohlo být řešení volání "https://" jednoduché, tak jsem se do toho snažil dostat a ouha. Právě že byhc to chtěl rozchodit pomocí těchto komponent ideálně.

Cíl: Chtěl bych poslat TJSONObject na https://nejakyserver.com pomocí "post" metody.

Absolutně jsem se zasekal. Volání GET funguje OK, včetně "https" cíle. Ale když zkouším post, tak absolutně nic...

Přiblížení příkladu:

clientHttp: TNetHTTPClient;
requestHttp: TNetHTTPRequest; //provázáno v aplikaci správně - GET se volá OK.
jsonObject: TJSONObject;

... osekany kod ...¨

xStream := TStringStream.Create(jsonObject.ToString, TEncoding.UTF8);
NetHTTPRequest.Post(url, xStream);

... server to zavolá, ale server mi hlásí - že volám metoudou GET a že jsem neposlal žádná data :-( ...

Dokáže někdo pomoci, případně udělat nějaký jednoduchý příklad? Už jsme fakt v koncích hodně dlouho.

Děkuji za případnou pomoc.





« Poslední změna: 05-01-2018, 22:54:26 od bluebat »

Online Delfin

  • Guru
  • *****
  • Příspěvků: 546
  • Karma: 26
  • SW konzultant
    • Verze Delphi: 2009, Tokyo
... server to zavolá, ale server mi hlásí - že volám metoudou GET a že jsem neposlal žádná data :-( ...

Co presne server vrati jako response (nevim jak tomu rict cesky)?
Shiny disco balls! I don't like :)

Offline Ondřej Pokorný

  • Guru
  • *****
  • Příspěvků: 737
  • Karma: 50
    • Verze Delphi: Primárně Lazarus, jinak D7 až aktuální
    • Kluug.net
Co presne server vrati jako response (nevim jak tomu rict cesky)?

Že by odpověď :)
Embarcadero Technology Partner, juj. Člen Lazarus týmu, oj.

Online Delfin

  • Guru
  • *****
  • Příspěvků: 546
  • Karma: 26
  • SW konzultant
    • Verze Delphi: 2009, Tokyo
Co presne server vrati jako response (nevim jak tomu rict cesky)?

Že by odpověď :)

Request-response; pozadavek-odpoved mi zni divne ::) :) Snad dotaz-odpoved?
Shiny disco balls! I don't like :)

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 1966
  • Karma: 101
    • Verze Delphi: D2007, XE3, DX10
Excellent
Rated 1 time
Request-response; pozadavek-odpoved mi zni divne ::) :) Snad dotaz-odpoved?
Jestli si to pamatuju, tak se tomu rikavalo odezva

Online Delfin

  • Guru
  • *****
  • Příspěvků: 546
  • Karma: 26
  • SW konzultant
    • Verze Delphi: 2009, Tokyo
Request-response; pozadavek-odpoved mi zni divne ::) :) Snad dotaz-odpoved?
Jestli si to pamatuju, tak se tomu rikavalo odezva

To zni celkem dobre, pozadavek-odezva. Diky za tip! :)
« Poslední změna: 06-01-2018, 14:25:55 od Delfin »
Shiny disco balls! I don't like :)

Offline bluebat

  • Nováček
  • *
  • Příspěvků: 2
  • Karma: 0
    • Verze Delphi: 10.2 Tokyo
Děkuji všem za pomoc ;D

... nakonec jediná byla chyba u mě a v nastavení přesměrování na serveru, kam směřoval požadavek. Kód v Delphi byl nakonec OK (pominuli odchycení výjimek apod.).
« Poslední změna: 06-01-2018, 14:46:56 od bluebat »

Offline Ondřej Pokorný

  • Guru
  • *****
  • Příspěvků: 737
  • Karma: 50
    • Verze Delphi: Primárně Lazarus, jinak D7 až aktuální
    • Kluug.net
Request-response; pozadavek-odpoved mi zni divne ::) :) Snad dotaz-odpoved?
Jestli si to pamatuju, tak se tomu rikavalo odezva

Pro nás na fyzice byla odezva odajkživa čas potřebný na odpověď (latence) - t.j. něco úplně jiného. Nenapadlo by mě, že informatici to tak překroutí :o

EDIT: Nepamatuješ si to náhodou špatně? Jak byste potom překládali anglické latency?
« Poslední změna: 07-01-2018, 06:10:54 od Ondřej Pokorný »
Embarcadero Technology Partner, juj. Člen Lazarus týmu, oj.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 1966
  • Karma: 101
    • Verze Delphi: D2007, XE3, DX10
Pro nás na fyzice byla odezva odajkživa čas potřebný na odpověď (latence) - t.j. něco úplně jiného.
No to sis vybral jeden z mnoha vyznamu, kteremu anglicky odpovida response time a AFAIK, tak i cesky je to spravne casova odezva a nahrazovat to samostatnym odezva uz je spis otazka zargonu, kdy se mluvi o prechodovych funkcich aj.
http://synonymus.cz/odezva-305/
« Poslední změna: 07-01-2018, 07:32:58 od pf1957 »

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 1966
  • Karma: 101
    • Verze Delphi: D2007, XE3, DX10
EDIT: Nepamatuješ si to náhodou špatně? Jak byste potom překládali anglické latency?
https://www.linguee.cz/angli%C4%8Dtina-%C4%8De%C5%A1tina/p%C5%99eklad/latency.html

Offline Ondřej Pokorný

  • Guru
  • *****
  • Příspěvků: 737
  • Karma: 50
    • Verze Delphi: Primárně Lazarus, jinak D7 až aktuální
    • Kluug.net
Stále mi to nějak nejde přes jazyk: "Jakou poslal server odezvu?" je fakt divné.
Správně mi zní: "Jakou poslal server odpověď?" a "Jakou má server odezvu?" (Ve smyslu za jak dlouho je schopen odpovědět.)
Embarcadero Technology Partner, juj. Člen Lazarus týmu, oj.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 1966
  • Karma: 101
    • Verze Delphi: D2007, XE3, DX10
Stále mi to nějak nejde přes jazyk: "Jakou poslal server odezvu?" je fakt divné.
Správně mi zní: "Jakou poslal server odpověď?" a "Jakou má server odezvu?" (Ve smyslu za jak dlouho je schopen odpovědět.)
Jaka byla reakce/odezva/odpoved serveru? -> zadna/kladna/zaporna

ale take to tvoje

Jaka byla reakce/odezva/odpoved serveru? -> zadna/rychla/pomala

atd.

pokud mluvime o relaci request-response, vniman stejne jako Delphin neceske response=odpoved
Pokud mluvime o obsahu response tj. zuzenem smyslu, tak bych souhlasil s tim, ze se bavime o odpovedi




Offline našinec

  • Hrdina
  • ****
  • Příspěvků: 334
  • Karma: 5
Jak je o mne známo, tak s technickým názvoslovím si zrovna moc netykám. Každopádně, pokud by někdo mluvil o odezvě, tak si budu myslet, že má na mysli ping. V tomto případě, pokud má tedy někdo životní touhu to překládat, tak bych to spíše viděl něco jako vyžádaná odpověď.

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Jméno: E-mail:
Ověření:
Kolik je šest plus čtyři (slovem):