public Setting(UserAgentStruct userAgent, HttpHeaderStruct httpHeader, PolicyStruct policy, ProxyStruct proxy) { _userAgent = userAgent; _httpHeader = httpHeader; _policy = policy; _proxy = proxy; }
public Setting(UserAgentStruct userAgent,HttpHeaderStruct httpHeader,PolicyStruct policy,ProxyStruct proxy) { _userAgent = userAgent; _httpHeader = httpHeader; _policy = policy; _proxy = proxy; }
internal static async Task <List <HttpRequest> > GetRequestList(IEnumerable <string> proxies) { var list = new List <HttpRequest>(); try { foreach (var x in proxies.Distinct().Where(x => !string.IsNullOrEmpty(x))) { try { var str = new ProxyStruct(); var arr = x.Split('@'); str.Host = arr[1]; str.Login = arr[0]; switch (arr[2].ToLower()) { case "http": case "https": str.Type = ProxyType.Http; break; case "socks4": str.Type = ProxyType.Socks4; break; case "socks4a": str.Type = ProxyType.Socks4a; break; case "socks5": str.Type = ProxyType.Socks5; break; default: str.Type = ProxyType.Http; break; } list.Add(await RequestHelper.GetRequestTaskAsync(str)); } catch (Exception) { } } } catch (Exception ex) { Informer.RaiseOnResultReceived(ex); } if (list.Count == 0) { list.Add(RequestHelper.GetRequest); } return(list); }
public static async Task <List <PersonStruct> > ParsePersonsList(string workBookPath) { return(await Task.Run(() => { var list = new List <PersonStruct>(); try { var fileFullPath = Path.GetFullPath(workBookPath); XSSFWorkbook xssfwb; using (var file = new FileStream(fileFullPath, FileMode.Open, FileAccess.Read)) xssfwb = new XSSFWorkbook(file); var sheet = xssfwb.GetSheet(xssfwb.GetSheetName(0)); for (var num = 1; num <= sheet.LastRowNum; num++) { try { var row = sheet.GetRow(num); if (row == null) //null is when the row only contains empty cells { continue; } var proxy = new ProxyStruct { Host = row.GetCell(4).StringCellValue, Login = row.GetCell(5).StringCellValue, Type = (ProxyType)Enum.Parse(typeof(ProxyType), row.GetCell(6).StringCellValue) }; var person = new PersonStruct { FirstName = row.GetCell(2).StringCellValue, LastName = row.GetCell(3).StringCellValue, Mail = row.GetCell(0).StringCellValue, Pass = row.GetCell(1).StringCellValue, Proxy = proxy }; list.Add(person); } catch (Exception ex) { Informer.RaiseOnResultReceived(ex.Message); Informer.RaiseOnResultReceived($"Is error in {num + 1} row"); } } } catch (Exception ex) { Informer.RaiseOnResultReceived(ex.Message); } return list; })); }
public static async Task <HttpRequest> GetRequestTaskAsync(ProxyStruct str) { var req = GetRequest; return(await Task.Run(() => { try { var host = str.Host; var login = str.Login; var type = str.Type; if (string.IsNullOrEmpty(host) || !host.Contains(":")) { return req; } var arr = host.Split(':'); switch (type) { case ProxyType.Http: req.Proxy = new HttpProxyClient(arr[0], int.Parse(arr[1])); break; case ProxyType.Socks4: req.Proxy = new Socks4ProxyClient(arr[0], int.Parse(arr[1])); break; case ProxyType.Socks4a: req.Proxy = new Socks4aProxyClient(arr[0], int.Parse(arr[1])); break; case ProxyType.Socks5: req.Proxy = new Socks5ProxyClient(arr[0], int.Parse(arr[1])); break; default: req.Proxy = new HttpProxyClient(arr[0], int.Parse(arr[1])); break; } if (!string.IsNullOrEmpty(login) && login.Contains(":")) { var arrr = login.Split(':'); req.Proxy.Username = arrr[0]; req.Proxy.Password = arrr[1]; } } catch (Exception ex) { Informer.RaiseOnResultReceived(ex.Message); } return req; })); }
public unsafe SharedTypeHolder <TType> GetOrAddType <TType>() { if (addresses.ContainsKey(typeof(TType))) { return(new SharedTypeHolder <TType>(addresses[typeof(TType)])); } var mt = (MethodTableInfo *)(typeof(TType).TypeHandle.Value); var structsize = Marshal.SizeOf(typeof(MethodTableInfo)); var size = structsize; var vmt_size = 4 * mt->VirtMethodsCount; size += vmt_size; var newmt = lastPtr; WinApi.memcpy(newmt, (IntPtr)mt, size); lastPtr = (IntPtr)((int)lastPtr + structsize); var newvmt_addr = (int *)lastPtr; lastPtr = (IntPtr)((int)lastPtr + vmt_size); var proxiesFrom = (int *)((byte *)mt + structsize); var proxiesTo = (ProxyStruct *)lastPtr; int index = 0; for (index = 0; index < mt->VirtMethodsCount; index++) { var slot = new ProxyStruct(proxiesFrom[index] - ((int)&proxiesTo[index] + 5)); proxiesTo[index] = slot; newvmt_addr[index] = (int)&proxiesTo[index]; } lastPtr = (IntPtr)((int)lastPtr + mt->VirtMethodsCount * 5); addresses.Add(typeof(TType), newmt); ((MethodTableInfo *)newmt)->ParentTable = mt; // support inheristance return(new SharedTypeHolder <TType>(newmt)); }
public static async Task <Queue <ProxyStruct> > GetProxyStruct(ProxyStruct str) { return(await Task.Run(() => { var queue = new Queue <ProxyStruct>(); try { var host = string.IsNullOrEmpty(str.Host) ? string.Empty : str.Host; var login = string.IsNullOrEmpty(str.Login) ? string.Empty : str.Login; var type = str.Type; foreach (var s in host.Split(',')) { queue.Enqueue(new ProxyStruct { Host = s, Login = login, Type = type }); } } catch (Exception) { } return queue; })); }
public PersonStruct() { Proxy = new ProxyStruct(); }