C# OnlineNic Api Kurulum Login ve Connet Bölüm 1

20
Mayıs
2011
C# OnlineNic Api Kurulum Login ve Connet Bölüm 1

10428599-onlinenic-logo.jpg

 

OnlineNic Api Entegrasyonu hakkında size bu makalemizde elimizdeki api ile siteye Connect ve Login olmaktan bahsedeceğim.

Şimdi bu makaleyi okuyacak olan arkadaşlar zaten onlinenic sitesinin ne yaptığını biliyor olduklarından fazla bir açıklama yapma gereği duymuyorum.

Bizler size C# Asp.Net ile OnlineNic api ara bağlantısını anlatacağız.

Öncelikle Online Nic sitesinde www.onlinenic.com Template/Api kısmından gerekli dokümanları indiriyoruz.

1.jpg

Api Versiyon 2.0 üzerinde bu işlemleri gerçekleştiriyoruz.

2.jpg

Evet diyip kabul ediyoruz.

3.jpg

Version 2.0 api kullanım ve kurulum Kılavuzunu indiriyoruz. (http://www.onlinenic.com/cp_english/template_api/download/ONLINENIC_API2.0.pdf )

Pdf dosyamızda her şey anlatılıyor ancak sizler anlamak için 1-2 hafta zaman geçirmemeniz ve daralmamanız için C# Asp.Net kodlarını sizlere aşağıda vereceğim.

Öncelikle Üyeliğinize ad Online Nic Member ID ve Member Password unuz hazır olsun Lazım olacak : )

Bu kodlama sadece Siteye Bağlanmak ve Giriş yapabilmek içindir.

Aspx Sayfamızda olması gereken kodumuz.

Alan Adı<br />

<asp:TextBox ID="TBDomain" runat="server"

    AutoPostBack="True"></asp:TextBox>

    <asp:DropDownList ID="DDLDomain" runat="server">

    <asp:ListItem Text="Com" Value="0"></asp:ListItem>

    <asp:ListItem Text="Net" Value="0"></asp:ListItem>

    <asp:ListItem Text="Org" Value="807"></asp:ListItem>

    <asp:ListItem Text="Biz" Value="800"></asp:ListItem>

    <asp:ListItem Text="Info" Value="805"></asp:ListItem>

</asp:DropDownList>

    <br />

<asp:Button ID="Button1" runat="server" onclick="Button1_Click"

    Text="Sorgula" />

<br />

    <asp:Label ID="LblSonuc" Text="" runat="server" />

                   

                    .Cs sayfamızda olması gereken kodumuz.

using System;

using System.Net.Sockets;

using System.Text;

using System.Security.Cryptography;

using System.IO;

using System.Text.RegularExpressions;

using System.Configuration;

using System.Xml.Linq;

using System.Xml;

 

public partial class _Default : System.Web.UI.Page

{

    TcpClient client = new TcpClient();

    NetworkStream stream;

    int PortNo = 30009;

    string testIP = "218.5.81.149";

    string testID = "135610";

    string testPassword = "654123";

    bool Connect()

    {

        client.Connect(testIP, PortNo);

        stream = client.GetStream();nse ASCII representation.

        String responseData = String.Empty;

        Byte[] data = new Byte[256];

        Int32 bytes = stream.Read(data, 0, data.Length);

        responseData = Encoding.ASCII.GetString(data, 0, bytes);

        return responseData.Contains("Your Connection with API Server is Successful");

    }

    bool Login()

    {

        string HashedPass = CreateMd5Hash(testPassword);

        Guid guid = Guid.NewGuid();

        string chksum = CreateMd5Hash(testID + HashedPass + guid.ToString() + "login");

        StringBuilder sb = new StringBuilder();

        sb.Append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>");

        sb.Append("<request>");

        sb.Append("<category>client</category>");

        sb.Append("<action>Login</action>");

        sb.Append("<params>");

        sb.Append("<param name=\"clid\">" + testID + "</param>");

        sb.Append("</params>");

        sb.Append("<cltrid>" + guid.ToString() + "</cltrid>");

        sb.Append("<chksum>" + chksum + "</chksum>");

        sb.Append("</request>");

        String responseData = String.Empty;

        Byte[] data;

        data = System.Text.Encoding.ASCII.GetBytes(sb.ToString());

        stream.Write(data, 0, data.Length);

        Int32 bytes = stream.Read(data, 0, data.Length);

        responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);

        bytes = stream.Read(data, 0, data.Length);

        responseData += System.Text.Encoding.ASCII.GetString(data, 0, bytes);

        return responseData.Contains("Command completed successfully");

    }

    bool LogOut()

    {

        string HashedPass = CreateMd5Hash(testPassword);

        Guid guid = Guid.NewGuid();

        string chksum = CreateMd5Hash(testID + HashedPass + guid.ToString() + "logout");

        StringBuilder sb = new StringBuilder();

        sb.Append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>");

        sb.Append("<request>");

        sb.Append("<category>client</category>");

        sb.Append("<action>Logout</action>");

        sb.Append("<params>");

        sb.Append("<param name=\"clid\">" + testID + "</param>");

        sb.Append("</params>");

        sb.Append("<cltrid>" + guid.ToString() + "</cltrid>");

        sb.Append("<chksum>" + chksum + "</chksum>");

        sb.Append("</request>");

        String responseData = String.Empty;

        Byte[] data;

        data = System.Text.Encoding.ASCII.GetBytes(sb.ToString());

        stream.Write(data, 0, data.Length);

        Int32 bytes = stream.Read(data, 0, data.Length);

        responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);

        bytes = stream.Read(data, 0, data.Length);

        responseData += System.Text.Encoding.ASCII.GetString(data, 0, bytes);

        try { client.Close(); }

        catch { return false; }

        return responseData.Contains("Command completed successfully");

    }

    static string CreateMd5Hash(string input)

    {

        MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();

        byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));

        StringBuilder sBuilder = new StringBuilder();

        for (int i = 0; i < data.Length; i++)

            sBuilder.Append(data[i].ToString("x2"));

        return sBuilder.ToString();

    }

    string DomainSorgula(string domainName, string domainExt, string extID)

    {

        string HashedPass = CreateMd5Hash(testPassword);

        Guid guid = Guid.NewGuid();

        string chksum = CreateMd5Hash(testID + HashedPass + guid.ToString() + "checkdomain" + extID + domainName + domainExt);

        StringBuilder sb = new StringBuilder();

        sb.Append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>");

        sb.Append("<request>");

        sb.Append("<category>domain</category>");

        sb.Append("<action>CheckDomain</action>");

        sb.Append("<params>");

        sb.Append("<param name=\"domaintype\">" + extID + "</param>");

        sb.Append("<param name=\"domain\">" + domainName + domainExt + "</param>");

        sb.Append("</params>");

        sb.Append("<cltrid>" + guid.ToString() + "</cltrid>");

        sb.Append("<chksum>" + chksum + "</chksum>");

        sb.Append("</request>");

        String responseData = String.Empty;

        Byte[] data;

        data = System.Text.Encoding.ASCII.GetBytes(sb.ToString());

        stream.Write(data, 0, data.Length);

        Int32 bytes = stream.Read(data, 0, data.Length);

        responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);

        bytes = stream.Read(data, 0, data.Length);

        responseData += System.Text.Encoding.ASCII.GetString(data, 0, bytes);

        if (!responseData.Contains("Command completed successfully"))

            return "Sorgulama yapılamıyor.";

 

        if (responseData.Contains("<data name=\"avail\">1</data>"))

            return "Alan adı boş!";

 

        return "Alan adı kullanımda";

    }

    }       

 

Bu işlemleri yaptığınız taktirde  onlinenic api ile siteye bağlantı ve login gerçekleştirilmiş olacaktır.

Kodda bulunan Member ID ve Member Password onlinenic Test Hesabıdır.

Sunucuzda In ve Out Firewall rollerini açmalısınız.

Telnet ile sunucuzda portu kontrol edeblir ve telnet üzerinden de login işlemini test edebilrisiniz.

Son olarak Kendinize ait Member ID ve Password ile login olmaya çalıştığınız da hata alırsanız IP adresi yerine alan adını yazabilirsiniz. Yani www.onlinenic.com  adresini yazabilirsiniz.

Yorum ve sorularınızı bekleriz.

 

Not: Bu makalede birlikte çalıştığımız M.H.Sarshar


arkadaşımızın yardımlarını unutmamak lazım kendisi çinlilerle bayağı uğraşmış ve kendini yıpratmış. Kendisinin yazmış olduğu makaleye ulaşmak için burayı tıklayınız..

MAKALE-YORUMLAR

İsminiz
Yorumunuz


Doğrulama kodu

?

MAKALEYE YORUM YAZ

İsminiz
E-posta adresiniz
Yorumunuz
Doğrulama kodu ?

Copyright © 2006 - 2013  DESTEKYERI.COM

Embedded by  ® SANALOG Tüm Hakları Saklıdır . Yayınlanan yazıların izin alınmadan kopyalanması ve kullanılması  5846 sayılı Fikir ve Sanat Eserleri Yasasına göre suçtur. Makalelerin "alıntı" olduğunu belirterek yayınlayabilir ve kaynağı belirtmeniz önemlidir !!!