SORU
1 Mayıs 2009, Cuma


Nasıl bir HTTP Put musun?

Web hizmetleri bir bileşeni olan bu yazılım var.

Şimdi, bu sistem yöneticisi bana, Web Hizmetleri bileşenini kullanarak sisteme veri almak isteyen geldi.

Yani, bu şeyi bulmak için belgeleri okumak için gittim ve bu gibi şeyler görüyorum:

Click here to see what I'm talking about (this looks best in firefox, chrome, & safari)

Bu belgeleme sistemi ile etkileşim ALMAK gibi fiiller kullanarak HTTP, POST, PUT, DELETE örnekler verir. Ama benim sınırlı deneyim, hiç bir HTTP PUT, ne SİLMEK, ne de göndermek zorunda kaldım.

Bunu nasıl yapıyorsun? Yöntem=var HTML form yaptım"" veya yöntemi="" ve isteğin eylem özniteliği belirtilen her neyse gönderilir (action="") someResource. post Ama gerçekten, bu, bu şey ne bilmiyorum.

Tahminince, ben hiç de bir uygulama oluşturur çeşit bir HTTP İsteği nesne ve set tüm özelliklerini ve bir şekilde bulunur verileri KOYMAK istiyorum KAYNAK (


I am trying to use REST terminology, which is something else is very new to me). Daha sonra isteği programlama dili ve blah blah blah benim ile göndermek istiyorum. Sadece bu olacağını tahmin ediyorum. Bazı yardım teklif lütfen!

CSS, JavaScript, XHTML vb gibi şeyler biliyorum beri bir web geliştirici olduğumu düşündüm. ama web (HTTP) temelleri hakkında hiçbir şey bilmiyorum gibi görünmeye başladı.

EDİT

PS: genelde ben programı .net. Yani, herhangi bir örnek .net çok güzel olmalı.

CEVAP
1 Mayıs 2009, Cuma


İşte C# örnek HttpWebRequest kullanarak:

using System;
using System.IO;
using System.Net;

class Test
{
        static void Main()
        {
                string xml = "<xml>...</xml>";
                byte[] arr = System.Text.Encoding.UTF8.GetBytes(xml);
                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://localhost/");
                request.Method = "PUT";
                request.ContentType = "text/xml";
                request.ContentLength = arr.Length;
                Stream dataStream = request.GetRequestStream();
                dataStream.Write(arr, 0, arr.Length);
                dataStream.Close();
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                string returnString = response.StatusCode.ToString();
                Console.WriteLine(returnString);
        }
}

Güncellemeşimdi Sistemi HttpClient sınıfı var.Net.(available as a NuGet package) bu biraz daha kolay hale getirir Http:

using System;
using System.Net.Http;

class Program
{
    static void Main()
    {
        var client = new HttpClient();
        var content = new StringContent("<xml>...</xml>");
        var response = client.PutAsync("http://localhost/", content).Result;
        Console.WriteLine(response.StatusCode);
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Alan Fullmer

    Alan Fullmer

    3 EYLÜL 2010
  • jeffisthecoolguy

    jeffisthecoo

    17 HAZİRAN 2013
  • Attempts at least

    Attempts at

    1 Ocak 2007