private Image loadImageFromUrl(string i_Url) { System.Net.WebRequest imageRequest = System.Net.WebRequest.Create(i_Url); System.Net.WebResponse imageResponse = imageRequest.GetResponse(); Stream imageStream = imageResponse.GetResponseStream(); Bitmap image = new Bitmap(new Bitmap(imageStream ?? throw new InvalidOperationException()), new Size(65, 65)); return(image); }
private TokenResponse AcquireAccessTokenOfWebApp(string AuthorizationCode) { TokenResponse result = null; string accessToken = ""; // Build a POST body. string postBody = ""; Hashtable tempTable = new Hashtable(); tempTable["grant_type"] = "authorization_code"; tempTable["code"] = AuthorizationCode; tempTable["redirect_uri"] = textBox_WebAppRedirectUri.Text; tempTable["client_id"] = textBox_WebAppClientID.Text; tempTable["client_secret"] = textBox_WebAppClientSecret.Text; foreach (string key in tempTable.Keys) { postBody += String.Format("{0}={1}&", key, tempTable[key]); } byte[] postDataBytes = Encoding.ASCII.GetBytes(postBody); // This URL is old. // System.Net.WebRequest request = System.Net.WebRequest.Create("https://login.windows.net/common/oauth2/token/"); // So, use new one. (access point is same.) System.Net.WebRequest request = System.Net.WebRequest.Create("https://login.microsoftonline.com/common/oauth2/token"); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = postDataBytes.Length; try { // Get a RequestStream to POST a data. using (Stream reqestStream = request.GetRequestStream()) { reqestStream.Write(postDataBytes, 0, postDataBytes.Length); } System.Net.WebResponse response = request.GetResponse(); using (Stream responseStream = response.GetResponseStream()) { StreamReader reader = new StreamReader(responseStream, Encoding.Default); string jsonResponse = reader.ReadToEnd(); // Deserialize and get an Access Token. result = Deserialize <TokenResponse>(jsonResponse); accessToken = result.access_token; } } catch (Exception ex) { MessageBox.Show(ex.Message + "\r\n\r\n" + ex.StackTrace, "Office365APIEditor"); } return(result); }
private Bitmap GetBitmapFromUrl(string url) { System.Net.WebRequest request = System.Net.WebRequest.Create(url); System.Net.WebResponse response = request.GetResponse(); System.IO.Stream responseStream = response.GetResponseStream(); Bitmap bitmap = new Bitmap(responseStream); return(bitmap); }
private string GetUrltoHtml(string Url, string type, string numberStr, string PlayID) { try { string RetuList = string.Empty; System.Net.WebRequest wReq = System.Net.WebRequest.Create(Url); // Get the response instance. System.Net.WebResponse wResp = wReq.GetResponse(); System.IO.Stream respStream = wResp.GetResponseStream(); // Dim reader As StreamReader = New StreamReader(respStream) using (System.IO.StreamReader reader = new System.IO.StreamReader(respStream, Encoding.GetEncoding(type))) { string txt_HTML = reader.ReadToEnd().Replace("\n", ""); if (PlayID != "9105") { string isc = string.Empty; switch (PlayID) { case "9101": isc = "RSF"; break; case "9102": isc = "SFC"; break; case "9103": isc = "SFD"; break; case "9104": isc = "DXF"; break; default: break; } RetuList = isc + "|" + SubstringHTML_Div(txt_HTML, numberStr.Split(',').ToList <string>(), PlayID); } else { List <string> splitNumber = numberStr.Split(',').ToList(); for (int i = 0; i < splitNumber.Count; i++) { MatchCollection matchs = Regex.Matches(splitNumber[i], @"(HH\|)*([A-Z]+)>(\d+)=(.+)(\|\d+\*\d+)*"); foreach (Match item in matchs) { if (item.Success) { string svc = item.Groups[4].Value; PlayID = SetPlayID(item.Groups[2].Value); RetuList += item.Groups[2].Value + ">" + SubstringHTML_Div(txt_HTML, splitNumber[i].Split(',').ToList(), PlayID) + ","; } } } } } return(RetuList.TrimEnd(',')); } catch (System.Exception ex) { throw ex; } }
private void GetPanes(string pageid, List <JsTreeModel> pages, bool loadModules, string panename) { string URL = ConvertRelativeUrlToAbsoluteUrl(HttpUrlBuilder.BuildUrl("~/?pageid=" + Convert.ToInt32(pageid) + "&panelist=y")); System.Net.WebRequest webRequest = System.Net.WebRequest.Create(URL); webRequest.Method = "GET"; StreamReader sr = new StreamReader(webRequest.GetResponse().GetResponseStream()); string result = sr.ReadToEnd(); List <JsTreeModel> child2 = new List <JsTreeModel>(); var panelist = result.Split('+').ToList(); //var panetopage = ModelServices.GetPageModules(Convert.ToInt32(pageid)); var lowerpane = panelist.ConvertAll(d => d.ToLower()); var i = 0; if (!loadModules) { foreach (var pane in panelist) { //JsTreeModel[] childm = getModuleToPane(pane, Convert.ToInt32(pageid)); JsTreeModel nodem = new JsTreeModel { text = pane, id = pane, isPane = true, nodeType = "pane", // icon = @"/aspnet_client/jQuery/jsTree/icon.png", //+ "http://jstree.com/tree.png", type = "pane", //data = pane, attr = new JsTreeAttribute { id = "pjson_pane_" + i, rel = "folder" }, //children2 = childm }; child2.Add(nodem); i++; } pages.AddRange(child2); } else { // add other pane. JsTreeModel[] childm = getModuleToPane(panename, Convert.ToInt32(pageid)); pages.AddRange(childm); //JsTreeModel nodem = new JsTreeModel //{ // text = pane.Key, // id = pane.Key + i.ToString(), // isPane = true, // //data = pane.Key + " [Not present in current layout]", // attr = new JsTreeAttribute { id = "pjson_pane_" + i, rel = "folder2" }, // //children2 = childm //}; //child2.Add(nodem); //i++; } }
/// <summary> /// 访问URL地址,返回值 /// </summary> /// <param name="url"></param> /// <param name="httpTimeout"></param> /// <param name="postEncoding"></param> /// <returns></returns> public static string CallWeb(string url, int httpTimeout, Encoding postEncoding) { string rStr = ""; System.Net.WebRequest req = null; System.Net.WebResponse resp = null; System.IO.Stream os = null; System.IO.StreamReader sr = null; try { //创建连接 req = System.Net.WebRequest.Create(url); req.ContentType = "application/x-www-form-urlencoded"; req.Method = "GET"; //时间 if (httpTimeout > 0) { req.Timeout = httpTimeout; } //读取返回结果 resp = req.GetResponse(); sr = new System.IO.StreamReader(resp.GetResponseStream(), postEncoding); rStr = sr.ReadToEnd(); int bodystart = rStr.IndexOf("<body>") + 6; //除去<body> int bodylenght = rStr.LastIndexOf("</body>") - bodystart; //除去</body> rStr = rStr.Substring(bodystart, bodylenght).Trim(); //除去空格 } catch { return(rStr); } finally { //关闭资源 if (os != null) { os.Dispose(); os.Close(); } if (sr != null) { sr.Dispose(); sr.Close(); } if (resp != null) { resp.Close(); } if (req != null) { req.Abort(); req = null; } } return(rStr); }
private static void GETstringHead(string url, string bUri, ref Types[] types) { /* * Достает строку ответа на get-запрос */ try { System.Net.WebRequest reqGET = System.Net.WebRequest.Create(url); reqGET.Method = "HEAD"; reqGET.Timeout = 500; System.Net.WebResponse resp = reqGET.GetResponse(); bool repeat = false; foreach (Types type in types) { if (type.type == resp.ContentType) { //если такой тип уже есть, то добавляем в суммарный размер repeat = true; type.size += resp.ContentLength; //Console.WriteLine("Add type: " + resp.ContentType); } } if (!repeat) { //если тип не найден, то создаем новый элемент Array.Resize <Types>(ref types, types.Length + 1); types[types.Length - 1] = new Types(resp.ContentType, resp.ContentLength); //Console.WriteLine("Add type: " + resp.ContentType); } resp.Close(); //foreach (Types linkFrArr in types) Console.WriteLine(linkFrArr.type + linkFrArr.size); } catch (Exception e) { Console.WriteLine("В загрузке {1} ответа сервера произошло исключение: {0}", e.Message.ToString(), url); try { //Pass the filepath and filename to the StreamWriter Constructor StreamWriter sw = new StreamWriter("log.txt", true); //Write a line of text sw.WriteLine(bUri + " " + url); //Close the file sw.Close(); } catch (Exception e2) { Console.WriteLine("Exception: " + e2.Message); } finally { Console.WriteLine("Executing finally block."); } } }
/// <summary> /// 查询订单物流信息 /// </summary> /// <param name="orderSysNo">订单号</param> /// <returns></returns> /// <remarks>2016-04-09 陈海裕 创建</remarks> public override Result <string> GetLogisticsTracking(int orderSysNo) { Result <string> result = new Result <string>(); //var tempResult = GetOrderExpressno(orderSysNo.ToString()); //result.Status = tempResult.Status; //result.Message = tempResult.Message; //if (result.Status == false) //{ // return result; //} CrossBorderLogisticsOrder cbLogiOrder = BLL.CrossBorderLogistics.CrossBorderLogisticsOrderBo.Instance.GetEntityByOrderSysNo(Convert.ToInt32(orderSysNo)); if (cbLogiOrder == null) { return(result); } string apiurl = "http://183.11.227.9:90/bdtsys/services/htapi/track/" + cbLogiOrder.LogisticsOrderId; System.Net.WebRequest request = System.Net.WebRequest.Create(apiurl); request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8"; System.Net.WebResponse response = request.GetResponse(); System.IO.Stream stream = response.GetResponseStream(); System.Text.Encoding encode = System.Text.Encoding.UTF8; System.IO.StreamReader reader = new System.IO.StreamReader(stream, encode); result.Message = reader.ReadToEnd(); JObject jObj = JObject.Parse(result.Message); List <TrackingData> logisticsTrackList = new List <TrackingData>(); if (jObj != null) { if (jObj.Property("trackSize") != null) { TrackingData trackingData = null; int trackSize = TConvert.ToInt32(jObj["trackSize"].ToString()); for (int i = trackSize - 1; i >= 0; i--) { trackingData = new TrackingData(); trackingData.time = TConvert.ToString(jObj["track" + i]["statustime"].ToString()); trackingData.content = TConvert.ToString(jObj["track" + i]["place"].ToString()) + TConvert.ToString(jObj["track" + i]["reason"].ToString()); logisticsTrackList.Add(trackingData); } StringBuilder htmlStr = new StringBuilder(); foreach (var item in logisticsTrackList) { htmlStr.Append("<tr><td width=\"25%\">" + item.time + "</td><td width=\"75%\">" + item.content + "</td></tr>"); } result.Data = htmlStr.ToString(); result.Status = true; } } return(result); }
private string Translate(string word) { System.Net.WebRequest request = System.Net.WebRequest.Create(BASE_URL + word); System.Net.WebResponse resp = request.GetResponse(); Stream respStream = resp.GetResponseStream(); StreamReader reader = new StreamReader(respStream, Encoding.GetEncoding("utf-8")); string json = reader.ReadToEnd(); return(json); }
public void Reload3MonthJson() { System.Net.WebRequest request = System.Net.WebRequest.Create("https://www.bitcoin.de/json/chart/stats_hourly_btceur_statistics_3month.json"); System.Net.WebResponse response = request.GetResponse(); var stream = response.GetResponseStream(); System.IO.StreamReader reader = new System.IO.StreamReader(stream); LoadJson(reader.ReadToEnd()); }
public Bitmap downloadImage(String url) { System.Net.WebRequest request = System.Net.WebRequest.Create(url); System.Net.WebResponse resp = request.GetResponse(); System.IO.Stream respStream = resp.GetResponseStream(); Bitmap bmp = new Bitmap(respStream); respStream.Dispose(); return(bmp); }
private Bitmap LoadPicture(string url) { System.Net.WebRequest request = System.Net.WebRequest.Create(url); System.Net.WebResponse response = request.GetResponse(); System.IO.Stream responseStream = response.GetResponseStream(); Bitmap bitmap2 = new Bitmap(responseStream); Console.WriteLine(bitmap2.Size); return(bitmap2); }
static void Main(string[] args) { System.Net.WebRequest req = System.Net.WebRequest.Create(@"http://www.microsoft.com"); System.Net.WebResponse resp = req.GetResponse(); System.IO.Stream stream = resp.GetResponseStream(); System.IO.StreamReader sr = new System.IO.StreamReader(stream); string s = sr.ReadToEnd(); Console.WriteLine(s); }
protected override void OnExecute() { System.Net.WebRequest wReq = System.Net.WebRequest.Create(GetUrl()); System.Net.WebResponse wResp = wReq.GetResponse(); System.IO.Stream respStream = wResp.GetResponseStream(); using (System.IO.StreamReader reader = new System.IO.StreamReader(respStream, Encoding.UTF8)) { reader.ReadToEnd(); } }
public static string HttpGet(string URI) { string ProxyString = null; System.Net.WebRequest req = System.Net.WebRequest.Create(URI); req.Proxy = new System.Net.WebProxy(ProxyString, true); //true means no proxy System.Net.WebResponse resp = req.GetResponse(); System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream()); return(sr.ReadToEnd().Trim()); }
private Bitmap GetIconFromInternet(string code) { System.Net.WebRequest request = System.Net.WebRequest.Create("http://openweathermap.org/img/w/" + code + ".png"); System.Net.WebResponse response = request.GetResponse(); System.IO.Stream responseStream = response.GetResponseStream(); Bitmap bitmap2 = new Bitmap(responseStream); return(bitmap2); }
// GET api/values //public IEnumerable<master_record> Get() public IEnumerable <address_normalization_response> Get ( string nonParsedStreetAddress, string nonParsedCity, string nonParsedState, string nonParsedZip ) { string request_string = string.Format("http://geoservices.tamu.edu/Services/AddressNormalization/WebService/v04_01/Rest/?nonParsedStreetAddress={0}&nonParsedCity={1}&nonParsedState={2}&nonParsedZip={3}&apikey={4}&addressFormat=USPSPublication28&responseFormat=JSON¬Store=false&version=4.01", nonParsedStreetAddress, nonParsedCity, nonParsedState, nonParsedZip, geocode_api_key); System.Net.WebRequest request = System.Net.WebRequest.Create(new Uri(request_string)); request.ContentType = "application/json; charset=utf-8"; System.Net.WebResponse response = request.GetResponse(); System.IO.Stream dataStream = response.GetResponseStream(); // Open the stream using a StreamReader for easy access. System.IO.StreamReader reader = new System.IO.StreamReader(dataStream); // Read the content. string responseFromServer = reader.ReadToEnd(); var json_result = Newtonsoft.Json.JsonConvert.DeserializeObject <dynamic>(responseFromServer); address_normalization_response[] result = new address_normalization_response[] { new address_normalization_response() { Number = json_result["StreetAddresses"][0]["Number"], NumberFractional = json_result["StreetAddresses"][0]["NumberFractional"], PreDirectional = json_result["StreetAddresses"][0]["PreDirectional"], PreQualifier = json_result["StreetAddresses"][0]["PreQualifier"], PreType = json_result["StreetAddresses"][0]["PreType"], PreArticle = json_result["StreetAddresses"][0]["PreArticle"], StreetName = json_result["StreetAddresses"][0]["StreetName"], Suffix = json_result["StreetAddresses"][0]["Suffix"], PostArticle = json_result["StreetAddresses"][0]["PostArticle"], PostQualifier = json_result["StreetAddresses"][0]["PostQualifier"], PostDirectional = json_result["StreetAddresses"][0]["PostDirectional"], SuiteType = json_result["StreetAddresses"][0]["SuiteType"], SuiteNumber = json_result["StreetAddresses"][0]["SuiteNumber"], City = json_result["StreetAddresses"][0]["City"], State = json_result["StreetAddresses"][0]["State"], ZIP = json_result["StreetAddresses"][0]["ZIP"], ZIPPlus1 = json_result["StreetAddresses"][0]["ZIPPlus1"], ZIPPlus2 = json_result["StreetAddresses"][0]["ZIPPlus2"], ZIPPlus3 = json_result["StreetAddresses"][0]["ZIPPlus3"], ZIPPlus4 = json_result["StreetAddresses"][0]["ZIPPlus4"], ZIPPlus5 = json_result["StreetAddresses"][0]["ZIPPlus5"], PostOfficeBoxType = json_result["StreetAddresses"][0]["PostOfficeBoxType"], PostOfficeBoxNumber = json_result["StreetAddresses"][0]["PostOfficeBoxNumber"] } }; return(result); }
public string GET(string Url, string Data) { System.Net.WebRequest req = System.Net.WebRequest.Create(Url + "?" + Data); System.Net.WebResponse resp = req.GetResponse(); System.IO.Stream stream = resp.GetResponseStream(); System.IO.StreamReader sr = new System.IO.StreamReader(stream); string Out = sr.ReadToEnd(); sr.Close(); return(Out); }
public Bitmap GetImagebyURI(string Uri) { System.Net.WebRequest request1 = System.Net.WebRequest.Create(Uri); System.Net.WebResponse resp1 = request1.GetResponse(); System.IO.Stream respStream1 = resp1.GetResponseStream(); Bitmap bmp1 = new Bitmap(respStream1); respStream1.Dispose(); return(bmp1); }
protected void getTablesButton_Click(object sender, EventArgs e) { try { lblError.Text = ""; if (datasetResultsListBox.SelectedItem == null) { lblError.Text = "Please choose a dataset list above"; return; } string responseContent = string.Empty; string dataSetId = datasetResultsListBox.SelectedValue.ToString(); //The resource Uri to the Power BI REST API resource string tablesUri = "https://api.powerbi.com/v1.0/myorg/datasets/" + dataSetId + "/tables"; if (groupResultsListBox.SelectedItem != null) { string groupId = groupResultsListBox.SelectedValue.ToString(); tablesUri = "https://api.powerbi.com/v1.0/myorg/groups/" + groupId + "/datasets/" + dataSetId + "/tables"; } //Configure tables request System.Net.WebRequest request = System.Net.WebRequest.Create(tablesUri) as System.Net.HttpWebRequest; request.Method = "GET"; request.ContentLength = 0; request.Headers.Add("Authorization", String.Format("Bearer {0}", authResult.AccessToken)); //Get tables response from request.GetResponse() using (var response = request.GetResponse() as System.Net.HttpWebResponse) { //Get reader from response stream using (var reader = new System.IO.StreamReader(response.GetResponseStream())) { responseContent = reader.ReadToEnd(); //Deserialize JSON string //JavaScriptSerializer class is in System.Web.Script.Serialization JavaScriptSerializer json = new JavaScriptSerializer(); Tables tables = (Tables)json.Deserialize(responseContent, typeof(Tables)); tableResultsListBox.Items.Clear(); //Get each table from foreach (table tbl in tables.value) { tableResultsListBox.Items.Add(new ListItem(tbl.Name, tbl.Name)); } } } } catch (Exception ex) { lblError.Text = ex.Message; } }
private Image loadImage(string i_Url) { System.Net.WebRequest request = System.Net.WebRequest.Create(i_Url); System.Net.WebResponse response = request.GetResponse(); System.IO.Stream responseStream = response.GetResponseStream(); Bitmap bmp = new Bitmap(responseStream); responseStream.Dispose(); return(m_ImageFilter.ApplyFilter(bmp, textBoxFilter.Text)); }
private string request(string Url) { System.Net.WebRequest req = System.Net.WebRequest.Create(Url); System.Net.WebResponse resp = req.GetResponse(); System.IO.Stream stream = resp.GetResponseStream(); System.IO.StreamReader sr = new System.IO.StreamReader(stream); string Out = sr.ReadToEnd(); sr.Close(); return(Out); }
private void setFoto(string url) { System.Net.WebRequest request = System.Net.WebRequest.Create(url); System.Net.WebResponse resp = request.GetResponse(); System.IO.Stream respStream = resp.GetResponseStream(); Bitmap bmp = new Bitmap(respStream); respStream.Dispose(); Foto = bmp; }
public static Image getImageBy(String imgUrl) { System.Net.WebRequest webreq = System.Net.WebRequest.Create(imgUrl); System.Net.WebResponse webres = webreq.GetResponse(); Stream stream = webres.GetResponseStream(); Image image; image = Image.FromStream(stream); stream.Close(); return(image); }
public static byte[] GetBytesFromUrl(Uri url) { System.Net.WebRequest webReq = System.Net.WebRequest.Create(url); webReq.Method = @"GET"; System.Net.WebResponse webResp = webReq.GetResponse(); System.IO.Stream stream = webResp.GetResponseStream(); System.IO.BinaryReader br = new System.IO.BinaryReader(stream); byte[] buffer = br.ReadBytes((int)webResp.ContentLength); webResp.Close(); return(buffer); }
private Image loadImage(string i_Url) { System.Net.WebRequest request = System.Net.WebRequest.Create(i_Url); System.Net.WebResponse response = request.GetResponse(); System.IO.Stream responseStream = response.GetResponseStream(); Bitmap bmp = new Bitmap(responseStream); responseStream.Dispose(); return(bmp); }
//GET api/values/imageurl public string Get(string imageUrl) { Console.WriteLine("Image Processing Started"); System.Net.WebRequest request = System.Net.WebRequest.Create(imageUrl); System.Net.WebResponse response = request.GetResponse(); System.IO.Stream responseStream = response.GetResponseStream(); Bitmap bMap = new Bitmap(responseStream); string nearestColor = ImageProcessor.FindNearestColor(bMap); return("Nearest color to the image: " + nearestColor); }
public static string callRequest(string req) { System.Net.WebRequest REQUEST = System.Net.WebRequest.Create(req); REQUEST.Proxy = null; System.Net.WebResponse RESPONSE = REQUEST.GetResponse(); System.IO.Stream DATASTREAM = RESPONSE.GetResponseStream(); System.IO.StreamReader READER = new System.IO.StreamReader(DATASTREAM); string STREAMCONTENT = READER.ReadToEnd(); return(STREAMCONTENT.ToString()); }
public static byte[] Dl(string url, System.Windows.Forms.ProgressBar processBarTemp, System.Windows.Forms.Label lbMsgValue, System.Windows.Forms.Label lbProcessBar, out string returnMsg) { processBarTemp.Value = 0; byte[] kq; returnMsg = string.Empty; try { lbMsgValue.Text = "Đang kết nối đến server..."; System.Windows.Forms.Application.DoEvents(); System.Net.WebRequest req = System.Net.WebRequest.Create(url); System.Net.WebResponse response = req.GetResponse(); Stream stream = response.GetResponseStream(); byte[] buffer = new byte[1024]; int dataLength = (int)response.ContentLength; processBarTemp.Maximum = dataLength; lbProcessBar.Text = "0/" + dataLength; lbMsgValue.Text = "Đang tải dữ liệu về..."; System.Windows.Forms.Application.DoEvents(); MemoryStream memStream = new MemoryStream(); while (true) { if (stream != null) { int bytesRead = stream.Read(buffer, 0, buffer.Length); if (bytesRead == 0) { processBarTemp.Value = processBarTemp.Maximum; lbProcessBar.Text = dataLength + "/" + dataLength; System.Windows.Forms.Application.DoEvents(); break; } memStream.Write(buffer, 0, bytesRead); if (processBarTemp.Value + bytesRead > processBarTemp.Maximum) { continue; } processBarTemp.Value += bytesRead; } lbProcessBar.Text = processBarTemp.Value + "/" + dataLength; processBarTemp.Refresh(); System.Windows.Forms.Application.DoEvents(); } kq = memStream.ToArray(); stream.Close(); memStream.Close(); lbMsgValue.Text = "Tải thành công!"; } catch (Exception ex) { lbMsgValue.Text = "Đường truyền lỗi hoặc đường link file cập nhật chưa chính xác!"; returnMsg = ex.Message + "\r\n\r\n" + ex.StackTrace; kq = null; } return(kq); }
public string GET_http(string url) { System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return(true); }; System.Net.WebRequest reqGET = System.Net.WebRequest.Create(url); System.Net.WebResponse resp = reqGET.GetResponse(); System.IO.Stream stream = resp.GetResponseStream(); System.IO.StreamReader sr = new System.IO.StreamReader(stream); string json = sr.ReadToEnd(); return(json); }
public void Run(bool testRun) { if (!(IsValid && ((parent as Document.Target).IsValid))) throw new InvalidOperationException("Only valid tests on valid targets can be run."); Target target = parent as Target; if (target == null) throw new ApplicationException("Internal Error: unable to access target for this test."); if (relativePath == null) relativePath = ""; string targetPath = target.Path.TrimEnd('/'); string fullPath = targetPath + "/" + relativePath.TrimStart('/'); string paramString = ""; foreach (TestParameter p in parameters) { if (paramString != "") paramString += "&"; paramString += System.Web.HttpUtility.UrlEncode(p.Name); if (!string.IsNullOrEmpty(p.Value)) paramString += "=" + System.Web.HttpUtility.UrlEncode(p.Value); } request = null; System.Net.HttpWebResponse response = null; int responseStatusCode = int.MinValue; string responseBody = null; try { if (!testRun) { Status = TestStatusType.Executing; StatusMessage = "Test is now executing."; } switch (method) { case MethodType.GET: if (paramString != "") fullPath += "?" + paramString; request = System.Net.WebRequest.Create(fullPath); request.Method = "GET"; break; case MethodType.POST: request = System.Net.WebRequest.Create(fullPath); request.ContentType = "application/x-www-form-urlencoded"; request.Method = "POST"; byte[] paramBytes = System.Text.Encoding.ASCII.GetBytes(paramString); request.ContentLength = paramBytes.Length; request.GetRequestStream().Write(paramBytes, 0, paramBytes.Length); break; } response = (System.Net.HttpWebResponse) request.GetResponse(); responseStatusCode = (int)response.StatusCode; System.IO.StreamReader sr = new System.IO.StreamReader(response.GetResponseStream()); responseBody = sr.ReadToEnd(); if (!testRun) { Status = TestStatusType.Succeeded; StatusMessage = "Test executed successfully."; } } catch (System.Net.WebException wex) { if (wex.Response != null) { System.Net.HttpWebResponse wr = (System.Net.HttpWebResponse)wex.Response; responseStatusCode = (int)wr.StatusCode; } if (!testRun) { if (wex.Status == System.Net.WebExceptionStatus.RequestCanceled) { Status = TestStatusType.Cancelled; StatusMessage = "User cancelled."; } else { Status = TestStatusType.Failed; StatusMessage = wex.Message; } } if (testRun) throw; } catch (Exception ex) { if (!testRun) { Status = TestStatusType.Failed; StatusMessage = ex.Message; } if (testRun) throw; } finally { this.responseStatusCode = responseStatusCode; this.responseBody = responseBody; foreach (Document.Alert alert in alerts) { ICondition condition = alert.Condition as ICondition; condition.SetResponseBody(responseBody); condition.SetResponseStatusCode(responseStatusCode); } } }