小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Windows8HttpClient

 牛人的尾巴 2015-12-01

Windows8HttpClient

(2013-01-15 10:31:45)
標(biāo)簽:

雜談

//HttpClient GetText
        HttpClient httpClient;

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {    
            httpClient = new HttpClient();
        }

        protected override void OnNavigatedFrom(NavigationEventArgs e)
        {
            Dispose();
        }

            try
            {
                HttpResponseMessage response = await httpClient.GetAsync(resourceUri);

                string responseBodyAsText = await response.Content.ReadAsStringAsync();
                responseBodyAsText = responseBodyAsText.Replace("
", "\n");
            }
            catch (HttpRequestException hre)
            {
Debug.WriteLine(hre.Message);
            }

        public void Dispose()
        {
            if (httpClient != null)
            {
                httpClient.Dispose();
                httpClient = null;
            }
        }

        private void Cancel_Click(object sender, RoutedEventArgs e)
        {
            httpClient.CancelPendingRequests();
        }


//HttpClient GetStream
        HttpClient httpClient;

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            if (httpClient != null)
                httpClient.Dispose();

            //HttpMessageHandler: HTTP消息處理程序的基類型
            HttpMessageHandler handler = new HttpClientHandler();
            handler = new PlugInHandler(handler);

            httpClient = new HttpClient(handler);
            httpClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("Sample", "v8"));
        }

        protected override void OnNavigatedFrom(NavigationEventArgs e)
        {
            Dispose();
        }

            try
            {
                string resourceAddress = AddressField.Text;

                HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, resourceAddress);
                HttpResponseMessage response = await httpClient.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);

                StringBuilder responseBody = new StringBuilder();
                using (Stream responseStream = await response.Content.ReadAsStreamAsync())
                {
                    int read = 0;
                    byte[] responseBytes = new byte[1000];
                    do
                    {
                        read = await responseStream.ReadAsync(responseBytes, 0, responseBytes.Length);//讀取操作: responseStream -> responseBytes

                        responseBody.AppendFormat("流中讀取的字節(jié)數(shù): {0} \n", read);
                        IBuffer responseBuffer = CryptographicBuffer.CreateFromByteArray(responseBytes);
                        responseBody.AppendFormat(CryptographicBuffer.EncodeToHexString(responseBuffer) + Environment.NewLine);

                    } while (read != 0);
                }
            }
            catch (HttpRequestException hre)
            {
Debug.WriteLine(hre.Message);
            }

    public class PlugInHandler : MessageProcessingHandler
    {
        public PlugInHandler(HttpMessageHandler innerHandler)
            : base(innerHandler)
        {
        }

        protected override HttpRequestMessage ProcessRequest(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            if (request.Method == HttpMethod.Get)
                request.Headers.Add("Custom-Header", "CustomRequestValue");

            return request;
        }

        protected override HttpResponseMessage ProcessResponse(HttpResponseMessage response, CancellationToken cancellationToken)
        {
            if (response.RequestMessage.Method == HttpMethod.Get)
                response.Headers.Add("Custom-Header", "CustomResponseValue");

            return response;
        }
    }


//HttpClient GetXML
        HttpClient httpClient;

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            if (httpClient != null)
                httpClient.Dispose();

            //HttpMessageHandler: HTTP消息處理程序的基類型
            HttpMessageHandler handler = new HttpClientHandler();
            handler = new PlugInHandler(handler);

            httpClient = new HttpClient(handler);
            httpClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("Sample", "v8"));
        }

        protected override void OnNavigatedFrom(NavigationEventArgs e)
        {
            Dispose();
        }

            try
            {
                string resourceAddress = AddressField.Text;

                HttpResponseMessage response = await httpClient.GetAsync(resourceAddress);
                response.EnsureSuccessStatusCode();
       
//字符串轉(zhuǎn)換XML元素
                XElement element = XElement.Parse(await response.Content.ReadAsStringAsync());
                this.msiListBox.ItemsSource =
                    (from c in element.Elements("item")
                     select c.Attribute("name").Value
                    );
            }
            catch (HttpRequestException hre)
            {
Debug.WriteLine(hre.Message);
            }


//HttpClient PostText
        HttpClient httpClient;

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            if (httpClient != null)
                httpClient.Dispose();

            //HttpMessageHandler: HTTP消息處理程序的基類型
            HttpMessageHandler handler = new HttpClientHandler();
            handler = new PlugInHandler(handler);

            httpClient = new HttpClient(handler);
            httpClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("Sample", "v8"));
        }

        protected override void OnNavigatedFrom(NavigationEventArgs e)
        {
            Dispose();
        }


            if (httpClient.BaseAddress == null)
            {
                Uri baseAddress = new Uri(BaseAddress.Text);
                httpClient.BaseAddress = baseAddress;
            }

            try
            {
                string resourceAddress = AddressField.Text;

                HttpResponseMessage response = await httpClient.PostAsync(resourceAddress,new StringContent(this.RequestBodyField.Text));
                
string responseBodyAsText = await response.Content.ReadAsStringAsync();
                responseBodyAsText = responseBodyAsText.Replace("
", "\n"); // Insert new lines
            }
            catch (HttpRequestException hre)
            {
Debug.WriteLine(hre.Message);
            }



//HttpClient PostStream
        HttpClient httpClient;

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            if (httpClient != null)
                httpClient.Dispose();

            //HttpMessageHandler: HTTP消息處理程序的基類型
            HttpMessageHandler handler = new HttpClientHandler();
            handler = new PlugInHandler(handler);

            httpClient = new HttpClient(handler);
            httpClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("Sample", "v8"));
        }

        protected override void OnNavigatedFrom(NavigationEventArgs e)
        {
            Dispose();
        }

            try
            {
                string resourceAddress = AddressField.Text.Trim();
                HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, resourceAddress);

                StreamContent streamContent = new StreamContent(stream);
                request.Content = streamContent;
                request.Headers.TransferEncodingChunked = true; // Assume we don't know the content length

                HttpResponseMessage response = await httpClient.SendAsync(request);

                string responseBodyAsText = await response.Content.ReadAsStringAsync();
                responseBodyAsText = responseBodyAsText.Replace("
", "\n");
            }
            catch (HttpRequestException hre)
            {
Debug.WriteLine(hre.Message);
            }


//HttpClient PostMultipartFormDataContent
        HttpClient httpClient;

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            if (httpClient != null)
                httpClient.Dispose();

            //HttpMessageHandler: HTTP消息處理程序的基類型
            HttpMessageHandler handler = new HttpClientHandler();
            handler = new PlugInHandler(handler);

            httpClient = new HttpClient(handler);
            httpClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("Sample", "v8"));
        }

        protected override void OnNavigatedFrom(NavigationEventArgs e)
        {
            Dispose();
        }

            try
            {
                MultipartFormDataContent form = new MultipartFormDataContent();
                form.Add(new StringContent(RequestBodyField.Text), "Data");

                string resourceAddress = AddressField.Text.Trim();
                HttpResponseMessage response = await httpClient.PostAsync(resourceAddress, form);

                string responseBodyAsText = await response.Content.ReadAsStringAsync();
                responseBodyAsText = responseBodyAsText.Replace("
", "\n");
            }
            catch (HttpRequestException hre)
            {
Debug.WriteLine(hre.Message);
            }

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多