initial checkin of yaulw (locally)

This commit is contained in:
Donald Duck
2016-02-15 12:32:26 -05:00
commit 857eda29e3
115 changed files with 27392 additions and 0 deletions

59
Web/HTTP.cs Normal file
View File

@@ -0,0 +1,59 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
namespace Yaulw.Web
{
public class HTTP
{
/// <summary>
/// urlCreated.Text = Url;
/// var toPost = Url.Split('?');
/// var result = HttpPost(toPost[0], toPost[1]);
/// </summary>
/// <param name="uri"></param>
/// <param name="parameters"></param>
/// <returns>String.Empty if error occured, non-empty string otherwise</returns>
string HttpPost(string uri, string parameters)
{
var cookies = new CookieContainer();
var webRequest = (HttpWebRequest)WebRequest.Create(uri);
webRequest.CookieContainer = cookies;
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.Method = "POST";
byte[] bytes = Encoding.ASCII.GetBytes(parameters);
Stream os = null;
try
{
webRequest.ContentLength = bytes.Length; //Count bytes to send
os = webRequest.GetRequestStream();
os.Write(bytes, 0, bytes.Length); //Send it
}
catch (Exception) { /* ignore */ }
finally
{
if (os != null)
{
os.Close();
}
}
try
{
WebResponse webResponse = webRequest.GetResponse();
if (webResponse == null)
{ return null; }
StreamReader sr = new StreamReader(webResponse.GetResponseStream());
return sr.ReadToEnd().Trim();
}
catch (Exception) { /* ignore */ }
return String.Empty;
}
}
}

View File

@@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
namespace Yaulw.Web
{
/// <remarks>
///
/// </remarks>
public class WebClientWithTimeout : WebClient
{
/// <summary>
///
/// </summary>
public int Timeout { get; private set; }
/// <summary>
///
/// </summary>
/// <param name="timeout"></param>
public WebClientWithTimeout(int timeout)
{
this.Timeout = timeout;
}
/// <summary>
///
/// </summary>
/// <param name="address"></param>
/// <returns></returns>
protected override WebRequest GetWebRequest(Uri address)
{
var result = base.GetWebRequest(address);
result.Timeout = this.Timeout;
return result;
}
}
}