# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > WCF , Web Services , .Net Remoting >  چک کردن آزاد بودن دامین با وب سرویس

## cameloss

سلام.
من از وب سرویس http://www.ecocoma.com/domain_webservice.aspx برای چک کردن آزاد بودن دومین استفاده کردم. ظاهرا هیچ مشکلی توی کدهام ندارم، و همه چیز طبق رواله، اما وقتی میخوام روی لوکال چک کنم، این خطا رو دریافت میکنم: The request failed with HTTP status 417: Expectation failed.
اگه کسی تجربه اش رو داره لطفا راهنمایی کنه، واقعا ممنون میشم.
عین کدی هم که استفاده کردم اینه:


protected void btnwhoIs_Click(object sender, EventArgs e)
    {
        try
        {
            Whois_Service service = new Whois_Service();
            Whois whois = new Whois();

            service.SoapVersion = SoapProtocolVersion.Soap12;
            whois = service.GetWhois("DOM-T36309683M", "", txtWhoIs.Text);

            divRes.InnerText = whois.Description;
        }
        catch (System.Net.WebException ex)
        {
            divRes.InnerText = ex.Message;
        }

    }

----------


## محمدامین شریفی

> سلام.
> من از وب سرویس http://www.ecocoma.com/domain_webservice.aspx برای چک کردن آزاد بودن دومین استفاده کردم. ظاهرا هیچ مشکلی توی کدهام ندارم، و همه چیز طبق رواله، اما وقتی میخوام روی لوکال چک کنم، این خطا رو دریافت میکنم: The request failed with HTTP status 417: Expectation failed.
> اگه کسی تجربه اش رو داره لطفا راهنمایی کنه، واقعا ممنون میشم.
> عین کدی هم که استفاده کردم اینه:
> 
> 
> protected void btnwhoIs_Click(object sender, EventArgs e)
>     {
>         try
> ...


دوست خوب من،برای شما این وب سرویس را بررسی کردم و با دادن وبگاه برنامه نویس این اطلاعات را داد:
Registrant ID:ONLC-2732145-4
Registrant Name:Mehdi Keramati
Registrant  Organization:Barnamenevis
Registrant Street1:Array
Registrant  Street2:Array
Registrant Street3:
Registrant City:Tehran
Registrant  State/Province:Thr
Registrant Postal Code:91798
Registrant  Country:IR
Registrant Phone:+98.9121466281
Registrant Phone  Ext.:
Registrant FAX:+98.5117674726
Registrant FAX Ext.:
Registrant  Email:info@novinmedia.com
Admin ID:ONLC-2732145-1
Admin Name:Mehdi  Keramati
Admin Organization:Barnamenevis
Admin Street1:Array
Admin  Street2:Array
Admin Street3:
Admin City:Tehran
Admin  State/Province:Thr
Admin Postal Code:91798
Admin Country:IR
Admin  Phone:+98.9121466281
Admin Phone Ext.:
Admin FAX:+98.5117674726
Admin  FAX Ext.:
Admin Email:info@novinmedia.com
Tech ID:ONLC-2732145-2
Tech  Name:Mehdi Keramati
Tech Organization:Barnamenevis
Tech  Street1:Array
Tech Street2:Array
Tech Street3:
Tech City:Tehran
Tech  State/Province:Thr
Tech Postal Code:91798
Tech Country:IR
Tech  Phone:+98.9121466281
Tech Phone Ext.:
Tech FAX:+98.5117674726
Tech FAX  Ext.:
Tech Email:info@novinmedia.com
Name Server:NS7.IRANHOST.COM
Name  Server:NS8.IRANHOST.COM
ولی یک نکته،شما باید هر هفته KeyID رو عوض کنیريا،چون در حالت trial هست.در ضمن در web.config هم این عبارت رو بنویس:
  <system.net>
    <settings>
      <ipv6 enabled="true"/>
    </settings>
  </system.net>

میخواستم برایتان،برنامه ای که نوشتم را بفرستم،ولی گفتم اگر خودتان یاد بگیرید بیشتر ارزش دارد.

پیروز و شاد باشید

----------


## cameloss

مرثی دوست عزیزم. لطف کردی. نوشتید که میخواستید برنامه تون رو برام بفرستید، ممنون، اما سوالم اینه که کدی که من نوشتم از نظر شما اشکالی داره؟ البته تنظیمات web.config رو انجام نداده بودم، به نظر شما احتمالا به خاطر همین نبود که Error می گرفتم؟
در ضمن یه سوال کلی دیگه برای همه دوستان:
*** آیا راهی برای این که خودمون آزاد بودن یه دامین رو چک کنیم نداریم؟ یعنی بدون استفاده از وب سرویس های موجود، مثلا با ping کردن یه آدرس نمیشه فهمید؟
پیروز و سرافرازتان میخواهم.

----------


## محمدامین شریفی

> مرثی دوست عزیزم. لطف کردی. نوشتید که میخواستید برنامه تون رو برام بفرستید، ممنون، اما سوالم اینه که کدی که من نوشتم از نظر شما اشکالی داره؟ البته تنظیمات web.config رو انجام نداده بودم، به نظر شما احتمالا به خاطر همین نبود که Error می گرفتم؟
> در ضمن یه سوال کلی دیگه برای همه دوستان:
> *** آیا راهی برای این که خودمون آزاد بودن یه دامین رو چک کنیم نداریم؟ یعنی بدون استفاده از وب سرویس های موجود، مثلا با ping کردن یه آدرس نمیشه فهمید؟
> پیروز و سرافرازتان میخواهم.


اولا من مفهوم مرثی را نفهمیدم!!(منظورتون همون "ممنون" بود؟)
کد شما مشکلی ندارد.
اینجا را ببین برو با این وب سرویس مشهور کار کن.
در ضمن شما باید اطلاعات رو از سایت هایی که domain رجیستر میکنند،بگیرید.وگرنه راهی برای فهمیدن آن نیست.مگر اینکه با تجزیه تحلیل خودتان،بفهمید که دامین رجیستر شده است یا نه.شما میتونید اطلاعات رو از سایت بسیار مشهور networksolutions بگیرید. اینم کدش

پیروز باشید

----------


## cameloss

مرثی!!!!!!!!!!!!!!!!!!
منظورم از مرثی دقیقا کلمه سپاسگزارم بود، چون ترجیح میدم به جای استفاده از کلمات عربی تا جایی که میتونم از فرنگیش استفاده کنم اگه معادل فارسیش ثقیل باشه. به هر حال به قول خود شما دوست عزیز: ممنونم، واقعا ممنون. (لب خنده بزن دوست)
با این سرویس: http://www.webservicex.net/whois.asmx که گفتید نتونستم کار کنم، قبلا سراغش رفته بودم، اما با راهنمایی که فرستادید فکر کنم میتونم از پسش بر بیام، در هر صورت امشب میرم سراغشون و نتیجه رو تو سایت میذارم.
*** منظور منم همین بود که با تجزیه و تحلیل نتیجه ping میشه فهمید که دومین آزاد هست یا نه، اما هنوز سراغش نرفتم، اگه تو تین زمینه هم کاری نتیجه ای گرفتم حتما میذارم همینجا.
پاینده، پیروز و سرافراز میخواهمتان.

----------


## محمدامین شریفی

> مرثی!!!!!!!!!!!!!!!!!!
> منظورم از مرثی دقیقا کلمه سپاسگزارم بود، چون ترجیح میدم به جای استفاده از کلمات عربی تا جایی که میتونم از فرنگیش استفاده کنم اگه معادل فارسیش ثقیل باشه. به هر حال به قول خود شما دوست عزیز: ممنونم، واقعا ممنون. (لب خنده بزن دوست)
> با این سرویس: http://www.webservicex.net/whois.asmx که گفتید نتونستم کار کنم، قبلا سراغش رفته بودم، اما با راهنمایی که فرستادید فکر کنم میتونم از پسش بر بیام، در هر صورت امشب میرم سراغشون و نتیجه رو تو سایت میذارم.
> *** منظور منم همین بود که با تجزیه و تحلیل نتیجه ping میشه فهمید که دومین آزاد هست یا نه، اما هنوز سراغش نرفتم، اگه تو تین زمینه هم کاری نتیجه ای گرفتم حتما میذارم همینجا.
> پاینده، پیروز و سرافراز میخواهمتان.


اولا مرسی درست هست نه مرثی!!!!!
دوما ممنون و سپاس(یا کوردیش:سوپاس)هم فارسی هست.دوما ثقیل عربی است :گیج: 
من از اینم خروجی گرفتم،کوشش کن شما هم میتونید!،برای اینکه مطمئا بشی کار میکنه،اینم خروجی:



> NOTICE: Access to .ORG WHOIS information is provided to assist persons in 
> determining the contents of a domain name registration record in the Public Interest Registry
> registry database. The data in this record is provided by Public Interest Registry
> for informational purposes only, and Public Interest Registry does not guarantee its 
> accuracy.  This service is intended only for query-based access.  You agree 
> that you will use this data only for lawful purposes and that, under no 
> circumstances will you use this data to: (a) allow, enable, or otherwise 
> support the transmission by e-mail, telephone, or facsimile of mass 
> unsolicited, commercial advertising or solicitations to entities other than 
> ...


فقط شما کاری که باید بکنی اینست که http://www. آدرس ها رو حذف کنی و به این صورت بنویسی:barnamenevis.org
دوست من اگر میخواهی برنامه نویس بشی بجای سوال پرسیدن توی فارم ها توی گوگل جستجو کن.و اعتماد به نفست را هم بالا ببر،چون هیچ کس غیر از گوگل و کتاب هیچ چیزی بل نیست..
اینم کدش:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services.Protocols;
using WebApplication1.WhoIS;

namespace WebApplication1
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            whois siteWhoIs = new whois();

            Response.Write(siteWhoIs.GetWhoIS("barnamenevis.or  g"));
     
        }
    }
}بجای response کردن مستقیم هم میتونید از xml خروجی بگیرید و به دلخواه نمایش دهید.
اینجا را بخون.من قبلا خوندم،راحت و جامع آموزش داده است



> منظور منم همین بود که با تجزیه و تحلیل نتیجه ping میشه فهمید که دومین آزاد هست یا نه، اما هنوز سراغش نرفتم


  web crawlingرو بخون
پیروز باشید.

----------


## moslem68

> دوست خوب من،برای شما این وب سرویس را بررسی کردم و با دادن وبگاه برنامه نویس این اطلاعات را داد:
> Registrant ID:ONLC-2732145-4
> Registrant Name:Mehdi Keramati
> Registrant  Organization:Barnamenevis
> Registrant Street1:Array
> Registrant  Street2:Array
> Registrant Street3:
> Registrant City:Tehran
> Registrant  State/Province:Thr
> ...


از این استفاده کنید
 string url = txtWhois.Text.ToLower();

        WhoisNet.whois whois = new WhoisNet.whois();
Literal1.Text = whois.GetWhoIS(url);

----------

