एक साइट से दूसरे साइट पर बाइट सरणी भेजें (और पीछे)

मैं दोनों साइटों को नियंत्रित करता हूं ताकि कोई भी विधि करे।

निम्नलिखित के बाद एक आसान तरीका होना चाहिए:

byte[] result;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://blahblah.com/blah.ashx");
byte[] inputToSend = new byte[] { 1, 2, 3 };
request.Method = "POST";
request.ContentType = "image/jpeg";
request.Timeout = 30 * 1000;
request.ContentLength = inputToSend.Length;
using (Stream stream = request.GetRequestStream())
    stream.Write(inputToSend, 0, inputToSend.Length);
request.Headers.Add("blah", "more blah");//This is for authentication.
WebResponse r = request.GetResponse();
using (MemoryStream ms = new MemoryStream())
{
    r.GetResponseStream().CopyTo(ms);
    result = ms.ToArray();
}

ऐसा नहीं?

(कोड अनुरोध पक्ष है। उत्तरदाता सरल है।)

0

1 उत्तर

कोड को छोटा बनाने के लिए आप संभावित रूप से WebClient का उपयोग कर सकते हैं। विशेष रूप से, अपलोडडेटा विधि:

using (var wc = new WebClient()) {
    wc.UploadData(yourUrl, inputToSend);
}

..और डाउनलोड करने के लिए:

using (var wc = new WebClient()) {
    var receivedData = wc.DownloadData(yourUri);
}

आप WebClient शीर्षलेख संपत्ति के माध्यम से जो भी शीर्षलेख चाहते हैं उसे जोड़ सकते हैं:

wc.Headers.Add("blah", "blah");//your auth stuff here.
0
जोड़ा
धन्यवाद। यह आशाजनक लग रहा है। लेकिन वेब क्लाइंट के साथ प्रतिक्रिया का अनुरोध करने का कोई तरीका है? (प्राप्त डेटा भेजे गए डेटा के जवाब में है)
जोड़ा लेखक ispiro, स्रोत
ठीक। कोई बात नहीं - मुझे यह stackoverflow.com/a/1014944/939213 दिखा रहा है कि uploadData रिटर्न एक प्रतिक्रिया।
जोड़ा लेखक ispiro, स्रोत