Java'da Restfull json web servis yazdım bunu web uygulamasında kullanmaktayım.
Konuya uzatmadan gelecek olursak, Giriş esnasında servis bana Cookie oluşturmakta web tarayıcıları için.
Bu cookie'yi almam ve diğer isteklerimde (GET,POST,PUT,DELETE) cookie olarak göndermem gerekmekte.
Get işlemimi yaptıgım zaman 500 Internal server error dönmekte bununda istekte cookie olmadığı için verdiğini düşünmekteyim.
Tecrübeli arkadaşlarımın yardımlarını rica ederim.
IDE RAD Studio XE8 Component olarak Indy'nin TIDHTTP kullanmaktayım. ÖR Post kod aşağıdadır.
Not: Görüntüdeki kod da serviste değişiklik yaparak cookie olarak oluşturduğum tokeni string yolladım gelip gelmediğini görmek için.
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
JsonToSend : TStream;
Http : TIDHttp;
Token : String;
begin
Http := TIdHttp.Create(nil);
Http.HandleRedirects := true;
Http.MaxAuthRetries := 0;
Http.AllowCookies := True;
Http.HTTPOptions := [hoInProcessAuth];
Http.Request.BasicAuthentication := true;
Http.Request.ContentType := 'application/json';
JsonToSend := TStringStream.Create(Memo1.Text,system.sysUtils.TEncoding.UTF8);
Token := http.Post('http://localhost:8080/.........', jsonToSend);
Edit1.Text := Token;
Http.Free;
JsonToSend.Free;
end;