Фрилансеры предложат решение вашей задачи уже через несколько минут!

Публикация заказа на фриланс бирже не займет много времени.

8 лет назад
Александр Неваров
33 года, Украина
11 лет в сервисе
Был онлайн 2 года назад
8 лет назад

Необходимо написать C# функцию получения параметров прокси сервера (работать должна под .NET2.0). Функция должна работать максимально быстро. По факту мне нужно получить следующий список параметров

1. Тип прокси (HTTP, SOCKS4, SOCKS5) (этот параметр также может быть изначально жестко задан функции)
2. Анонимность http://www.freeproxy.ru/ru/free_proxy/faq/proxy_anonymity.htm
3. Элитность http://www.freeproxy.ru/ru/free_proxy/faq/proxy_anonymity.htm
4. Поддержка https
5. POST
6. Страна (возможно как здесь http://www.codeproject.com/Articles/3657/Optimized-IP-to-ISO3166-Country-Code-Mapping-in-C)
7. Шлюзовость (не обязательно. Шлюзовые прокси - это прокси, которые являются туннелем для проксей)
8. Задержка (время ожидания ответа)
9. Cookies (поддерживает ли прокси передачу cookies в заголовке)
10. Referer (поддерживает ли прокси передачу referer в заголовке)

Вам в помощь есть вебсервер, на котором расположен скрипт, показывающий IP, POST параметры, заголовки, передаваемые серверу и нужные переменные окружения вроде HTTP_X_FORWARDED_FOR. Кроме данного вебсервера НЕЛЬЗЯ использовать какие либо сторонние ресурсы в алгоритме (чекеры, IP чекеры и вообще какие либо сторонние).

На выходе необходимо хорошо прокомментированную функцию (можно обернуть ее в класс), отрабатывающую максимально быстро. Формат следующий:

=============================================
public string lastError = "";
public enum ProxyType { HTTP = 0, SOCKS4, SOCKS5,AUTODEF };

/// <summary>
/// Struct determining harvesting rules
/// </summary>
public struct ProxyInfo
{
public ProxyType proxyType;//Тип прокси HTTP, SOCKS4, SOCKS5
public bool anonymous;//(ояснено здесь http://www.freeproxy.ru/ru/free_proxy/faq/proxy_anonymity.htm
public bool elite;//пояснено здесь http://www.freeproxy.ru/ru/free_proxy/faq/proxy_anonymity.htm
public bool https;//поддержка https
public bool post;//поддерживает ли прокси передачу POST параметров
public string countryCode;//EN,RU,NL and others...
public bool gateway;//Шлюзовые прокси - это прокси, которые являются туннелем для проксей
public int delay;//время ожидания ответа от прокси
public bool cookies;//поддерживает ли прокси передачу cookies в заголовке
public bool referer;//поддерживает ли прокси передачу referer в заголовке
}

public ProxyInfo getProxyInfo(string proxyaddr,int port,string login="",string pass = "",ProxyType type = ProxyType.AUTODEF)
{
ProxyInfo pi = new ProxyInfo();
try
{
lastError = "";

#region Определяем тип прокси если он не задан заранее
if (type == ProxyType.AUTODEF)
{

}
else
{
pi.proxyType = type;
}
#endregion

#region Определяем остальные параметры прокси (насколько я понимаю в зависимости от типа, алгоритм определения некоторых параметров может различаться)

#endregion

return pi;
}
catch(Exception exp)
{
lastError = exp.Message;
return pi;

}
}

=======
Уточню что понимаю под "максимально быстрой работой". Поясню от обратного. Мне недавно написали отдельную функцию проверки, что прокси является socks5. При этом у меня есть быстрые socks5 прокси для тестирования и быстрые (платные) http прокси для тестирования. Если функции на вход подаешь быструю socks5 проксю - то она быстро определяет что это socks5 (и возвращает true). Если же ей подаешь быструю http проксю - то она надолго замирает, и через длительный промежуток времени выдает False (ответ правильный, но почему так долго?))).
========
По поводу оплаты: оплата после тестирования функционала и проверки его соответствия ТЗ (ПОЛНОГО СООТВЕТСТВИЯ). Если вы изначально знаете, что с чем либо из ТЗ не справитесь - заранее предупреждайте (возможно подредактируем ТЗ, но только до начала работы). Для тестирования сразу предоставлю проксей. Бюджет 25$ .

  • Рекламное место свободно
    32 дня за $11
  • Рекламное место свободно
    32 дня за $11
Александр Н.
29 лет, Россия
12 лет в сервисе
Был онлайн 1 год назад
8 лет назад

Другие заказы в категории «Прикладное ПО»