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();
}

Yorumlar

Bu blogdaki popüler yayınlar

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

Sicaklik verisini python ile JSON formatında alma

Raspberry pi ile iothook sunucusuna bağlanarak sıcaklık ve nem değerlerini almak artık çok kolay. Bunun için Python kodu ile urllib kütüphanesini kullanacağız. Raspberry pi mize aşağıdaki kodu yüklüyelim ve Kanal API_KEY imizi yazalım. Son olarak json.loads ile