异步的HTTP POST与GET请求例子
来源:互联网 发布:linux开发环境 编辑:程序博客网 时间:2024/06/13 05:59
private void HttpGet()
{
WebClient wc = new WebClient();
Uri uri = new Uri("http://localhost:3881/Financial.ashx?ticker=NTES&startdate=1-1-2009&enddate=9-2-2010", UriKind.RelativeOrAbsolute);
wc.OpenReadCompleted += new OpenReadCompletedEventHandler(wc_OpenReadCompleted);
wc.OpenReadAsync(uri);
}
private void wc_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
StreamReader read = new StreamReader(e.Result);
string strXML = read.ReadToEnd();
XDocument xmlDoc = XDocument.Parse(strXML);
IEnumerable<TimeSeriesData> myTimeSeries = from item in xmlDoc.Descendants("TimeSeries")
select new TimeSeriesData()
{
open = Convert.ToDouble(item.Element("Open").Value),
close = Convert.ToDouble(item.Element("Close").Value),
high = Convert.ToDouble(item.Element("High").Value),
low = Convert.ToDouble(item.Element("Low").Value),
adjclose = Convert.ToDouble(item.Element("AdjClose").Value),
volume = Convert.ToDouble(item.Element("Volume").Value),
date = Convert.ToDateTime(item.Element("Date").Value)
};
TimeSeries.ItemsSource = myTimeSeries;
}
Post方法:
private void HttpPost()
{
Uri uri = new Uri("http://localhost:3881/Financial.ashx");
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.BeginGetRequestStream(new AsyncCallback(RequestProceed),request);
}
private void RequestProceed(IAsyncResult asyncResult)
{
HttpWebRequest request = (HttpWebRequest)asyncResult.AsyncState;
StreamWriter postDataWriter = new StreamWriter(request.EndGetRequestStream(asyncResult));
postDataWriter.Write("ticker=NTES");
postDataWriter.Write("&startdate=1-1-2009");
postDataWriter.Write("&enddate=9-2-2010");
postDataWriter.Close();
request.BeginGetResponse(new AsyncCallback(ResponesProceed),request);
}
private void ResponesProceed(IAsyncResult asyncResult)
{
WebRequest request = (HttpWebRequest)asyncResult.AsyncState;
HttpWebResponse response=(HttpWebResponse)request.EndGetResponse(asyncResult);
StreamReader responseReader = new StreamReader(response.GetResponseStream());
string responseString = responseReader.ReadToEnd();
XDocument xmlDoc = XDocument.Parse(responseString);
IEnumerable<TimeSeriesData> myTimeSeries = from item in xmlDoc.Descendants("TimeSeries")
select new TimeSeriesData()
{
open = Convert.ToDouble(item.Element("Open").Value),
close = Convert.ToDouble(item.Element("Close").Value),
high = Convert.ToDouble(item.Element("High").Value),
low = Convert.ToDouble(item.Element("Low").Value),
adjclose = Convert.ToDouble(item.Element("AdjClose").Value),
volume = Convert.ToDouble(item.Element("Volume").Value),
date = Convert.ToDateTime(item.Element("Date").Value)
};
Dispatcher.BeginInvoke(()=>TimeSeries.ItemsSource=myTimeSeries);
}
- 异步的HTTP POST与GET请求例子
- 异步的HTTP POST与GET请求例子
- $.get()/$.post()/$ajax() 异步请求的例子
- HTTP请求:GET与POST的区别
- HTTP请求GET与POST的区别
- http请求get与post的区别
- iOS上的http请求:get、post以及同步、异步
- iOS上的http请求:get、post以及同步、异步
- iOS原生Http请求,get post 异步
- Http方法:Get请求与Post请求的区别
- Http方法:Get请求与Post请求的区别
- Http方法:Get请求与Post请求的区别
- Http方法:Get请求与Post请求的区别
- Http--Get请求与Post请求的区别
- 【补遗】Http方法:Get请求与Post请求的区别
- HTTP中POST请求与GET请求的区别
- Http的GET请求与POST请求调用接口
- Http的post ,get请求
- PAT (Basic Level) Practise (中文)1012. 数字分类 (20) C语言
- Spring MVC 4.1.4 RESTFUL风格返回JSON数据406错误处理 .
- 多态
- android 实现代码混淆
- Leading and Trailing
- 异步的HTTP POST与GET请求例子
- python 中 高阶函数
- LeetCode java实现ZigZagConversion
- Android ListView的Item中的子view共存、抢夺焦点问题
- Quartz2.2.1 学习笔记(一)简单例子
- Android 、资源分目录存放
- iOS多线程编程技术之NSThread、Cocoa NSOperation、GCD
- django框架使用angular js入门
- android中的文本框