Advertisement
stdray

Untitled

Apr 23rd, 2013
457
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.70 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Drawing;
  4. using System.Linq;
  5. using System.Threading.Tasks;
  6. using System.Windows.Forms;
  7. using System.Net.Http;
  8.  
  9. namespace WindowsFormsApplication1 {
  10.     public partial class Form1 : Form {
  11.         public Form1() {
  12.             InitializeComponent();
  13.         }
  14.         private void button1_Click(object sender, EventArgs e) {
  15.             var uiScheduler = TaskScheduler.FromCurrentSynchronizationContext(); //запоминаем планировщий ui-потока
  16.             var uri = "http://yandex.ru";
  17.             parseAndUpdateRtb(uri, uiScheduler);
  18.         }
  19.         void parseAndUpdateRtb(string uri, TaskScheduler scheduler) {
  20.             var client = getHttpClient();
  21.             var task = client
  22.                 .GetStringAsync(uri) //получаем страницу
  23.                 .ContinueWith(t => parseRespose(t.Result)) // парсим результат
  24.                 .ContinueWith(t => richTextBox1.Text += t.Result, scheduler); //обновляем содержие окна
  25.             Task.Run(() => task); //запускем на выполнение цепочку задач
  26.         }
  27.         string parseRespose(string response) {
  28.             return response + Environment.NewLine;
  29.         }
  30.         HttpClient getHttpClient() {
  31.             var http = new HttpClient();
  32.             http.DefaultRequestHeaders.Add("Accept", "text/html, application/xhtml+xml, */*");
  33.             http.DefaultRequestHeaders.Add("Accept-Language", "ru-RU");
  34.             http.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)");
  35.             return http;
  36.         }
  37.     }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement