Ana içeriğe atla

C# ile Json veri gönderme


. IoThook kullanıcısının kanal ve elementlerine veri gönderebilmesi için POST metodu ile JSON olarak değişkenlerin gönderilmesi gereklidir.
CSharp örneğinde using Newtonsoft.Json; metodu kullanılmıştır. Bu kütüphaneyi indirmek için http://www.newtonsoft.com/json adresine gidiniz.
Bu örneği http://bit.ly/iot_csharp_post Github sayfasından inceleyebilirsiniz.

/*
  C# ile IoThook REST Api Testi

  Bu örnek ile CSharp ve JSON ile kullanıcının dataları POST metodu ile gönderme işlemi gerçekleştirilmiştir.
  'autorization' ile kullanıcı adı ve parola değeri verilmelidir.

  Bu ornek IotHook servisine veri almak/gondermek icin baslangic seviyesinde
  testlerin yapilmasini amaclamaktadir.

  29 Temmuz 2017
  Sahin MERSIN

  Daha fazlasi icin

  http://www.iothook.com
  ve
  https://github.com/electrocoder/iotHook

  sitelerine gidiniz.

  Sorular ve destek talepleri icin
  https://github.com/electrocoder/iotHook/issues
  sayfasindan veya Meşe Bilişim den yardım alabilirsiniz.

  Yayin : http://mesebilisim.com

  Licensed under the Apache License, Version 2.0 (the "License").
  You may not use this file except in compliance with the License.
  A copy of the License is located at

  http://www.apache.org/licenses/

*/

String url = "http://iotdashboard.pythonanywhere.com/api/v1/datas";

CookieContainer cookies = new CookieContainer();

var webRequest = (HttpWebRequest)WebRequest.Create(url);

webRequest.Method = "POST";
webRequest.CookieContainer = cookies;
webRequest.ContentType = "application/json";
webRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1";
webRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";

string autorization = "USERNAME" + ":" + "PASSWORD";
byte[] binaryAuthorization = System.Text.Encoding.UTF8.GetBytes(autorization);
autorization = Convert.ToBase64String(binaryAuthorization);
autorization = "Basic " + autorization;
webRequest.Headers.Add("AUTHORIZATION", autorization);

webRequest.SendChunked = true;

using (var streamWriter = new StreamWriter(webRequest.GetRequestStream()))
{
    JObject o = new JObject();
    o["api_key"] = "API_KEY";
    o["value_1"] = 1;
    o["value_2"] = 1;
    o["value_3"] = 1;
    o["value_4"] = 1;
    o["value_5"] = 1;

    string json = o.ToString();

    streamWriter.Write(json);

    streamWriter.Flush();
    streamWriter.Close();
    webRequest.Abort();
}

Bu blogdaki popüler yayınlar

Raspberry Pi 3 IP sabitleme, Static IP verme

Raspberry Pi 3 ün terminal ekranı açılır.

work ssh pi@192.168.1.201 pi@192.168.1.201's password: The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Thu Aug 3 20:00:07 2017 pi@raspberrypi:~ $








sudo nano /etc/dhcpcd.conf ile ayar dosyası açılır ve aşağıdaki satırlar yapıştırılır veya yazılır.


# kablolu bağlantı için - ethernet interface eth0 static ip_address=192.168.1.201/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1 # kablosuz bağlantı için - wifi interface wlan0 static ip_address=192.168.1.202/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1



C# ile JSON veri alma

oThook kullanıcısının tüm kanallarına ait veriyi alabilmesi için GET metodu ile ‘?data=last’ değişkeninin gönderilmesi gereklidir. Aynı örnekdeki data değişkeninin alabileceği değerler: ?data=all : Kullanıcının tüm datalarını getir?data=first : Kullanıcının ilk datasını getir?data=last : Kullanıcının son datasını getir CSharp örneğinde HttpWebRequest metodu kullanılmıştır. Bu örneği http://bit.ly/iot_csharp_get Github sayfasından inceleyebilirsiniz.

/* C# ile IoThook REST Api Testi Bu örnek ile CSharp ve Request metodu ile kullanıcının datalarının get metodu ile alınması gerçekleştirilmiştir. 'autorization' ile kullanıcı adı ve parola değeri verilmelidir. Bu ornek IotHook servisine veri almak/gondermek icin baslangic seviyesinde testlerin yapilmasini amaclamaktadir. 29 Temmuz 2017 Sahin MERSIN Daha fazlasi icin http://www.iothook.com ve https://github.com/electrocoder/iotHook sitelerine gidiniz. Sorular ve destek talepleri icin https://github…