LS1987
05-11-2018, 10:16
Buonasera, purtroppo negli ultimi tempi intervengo poco, avrei bisogno di una mano per implementare un software che scrive informazioni su un Server HTTP.
Abbiamo già adattato un esempio funzionante che effettuava la lettura, qui di seguito posto porzioni di codice di un esempio di base per effettuare la lettura :
public class Program
{
static void Main(string[] args)
{
IRHandler hWRequestHandler = new HWRH();
var response = GetRel(hWRequestHandler);
var ghr = JsonConvert.DeserializeObject<TestUser>(response);
Console.WriteLine("User ID: {0}", ghr.userId);
Console.WriteLine("ID: {0}", ghr.name);
Console.ReadLine();
}
public static string GetRel(IReqHandler reqHandler)
{
return reqHandler.GetRel(RequestConstants.Url);
}
public static string GetReleases(IRequestHandler requestHandler)
{
return requestHandler.GetReleases(RequestConstants.Url);
}
}
public class HttpWebRequestHandler : IRequestHandler
{
public string GetRel(string url)
{
var req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "GET";
req.UserAgent = RequestConstants.UserAgentValue;
req.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;
var cont = string.Empty;
using (var response = (HttpWebResponse)request.GetResponse())
{
using (var stream = response.GetResponseStream())
{
using (var sr = new StreamReader(stream))
{
cont = sr.ReadToEnd();
}
}
}
return cont;
}
}
}
public interface IRequestHandler
{
//Method to get the releases of the repo provided by the url
//We will be using RestSharp repo as an example (defined in constants)
string GetReleases(string url);
}
public class TestUser
{
[JsonProperty(PropertyName = "userId")]
public string userId { get; set; }
[JsonProperty(PropertyName = "name")]
public string id { get; set; }
}
public static class ReqConst
{
public const string Url = "https://...";
public const string UserAgent = "User-Agent";
public const string UserAgentValue = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36";
}
Le JSONProperty sono strutture dati che vengono dichiarate in librerie esterne.
Abbiamo già adattato un esempio funzionante che effettuava la lettura, qui di seguito posto porzioni di codice di un esempio di base per effettuare la lettura :
public class Program
{
static void Main(string[] args)
{
IRHandler hWRequestHandler = new HWRH();
var response = GetRel(hWRequestHandler);
var ghr = JsonConvert.DeserializeObject<TestUser>(response);
Console.WriteLine("User ID: {0}", ghr.userId);
Console.WriteLine("ID: {0}", ghr.name);
Console.ReadLine();
}
public static string GetRel(IReqHandler reqHandler)
{
return reqHandler.GetRel(RequestConstants.Url);
}
public static string GetReleases(IRequestHandler requestHandler)
{
return requestHandler.GetReleases(RequestConstants.Url);
}
}
public class HttpWebRequestHandler : IRequestHandler
{
public string GetRel(string url)
{
var req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "GET";
req.UserAgent = RequestConstants.UserAgentValue;
req.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;
var cont = string.Empty;
using (var response = (HttpWebResponse)request.GetResponse())
{
using (var stream = response.GetResponseStream())
{
using (var sr = new StreamReader(stream))
{
cont = sr.ReadToEnd();
}
}
}
return cont;
}
}
}
public interface IRequestHandler
{
//Method to get the releases of the repo provided by the url
//We will be using RestSharp repo as an example (defined in constants)
string GetReleases(string url);
}
public class TestUser
{
[JsonProperty(PropertyName = "userId")]
public string userId { get; set; }
[JsonProperty(PropertyName = "name")]
public string id { get; set; }
}
public static class ReqConst
{
public const string Url = "https://...";
public const string UserAgent = "User-Agent";
public const string UserAgentValue = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36";
}
Le JSONProperty sono strutture dati che vengono dichiarate in librerie esterne.