Простейшим подходом, вероятно, будет нормализация ваших данных и замена всех «запятых» и «ввода» пробелом, а затем разделение, как вы делали ранее, или использование split()
из re
с \s
мета.
For requests that require a proxy, yes, that'll work fine:
request.Proxy = myProxy;
For requests that wish to bypass a proxy, use:
request.Proxy = System.Net.GlobalProxySelection.GetEmptyWebProxy;
If you want to use the IE's default proxy (or if you've set a default proxy in your app/web.config), simply don't set the proxy, or set it to null:
request.Proxy = null;
More about possible HttpWebRequest.Proxy values here and GetEmptyWebProxy here.
Да, вы бы создали новый прокси-объект для каждого свойства в запросе, который вы хотите проксировать, и просто оставили бы его пустым для те, которые вы сделали. Для тех, кого вы не установите, они будут использовать значения прокси по умолчанию в конфигурации system.net в вашем app.config.
System.Net.GlobalProxySelection.GetEmptyWebProxy теперь устарела.
Я закончил с этой ситуацией
private static void SetProxy(HttpWebRequest request)
{
if (AppConstants.UseProxyCredentials)
{
//request.Proxy = available in System.Net configuration settings
request.Proxy.Credentials = Credentials.GetProxyCredentials();
}
else
{
request.Proxy = null;
//request.Proxy.Credentials = n/a
}
}
С данными прокси в web.config:
<system.net>
<defaultProxy>
<proxy
autoDetect="False"
bypassonlocal="True"
scriptLocation="http://www.proxyscript..."
proxyaddress="http://proxyurl..." />
</defaultProxy>
</system.net>
<system.web>