我正在使用螺纹池进行多线程阅读,每当我尝试启动请求时,我都会得到
Object reference not set to an instance of an object.
on
Application.Run(new Form1());
没有代理人
没有相同的问题这是导致麻烦的代码
if (ProxyBox.Text != string.Empty)
{
lock (locker)
{
Random rnd = new Random();
int rndd = rnd.Next(0, int.Parse(ProxyNumber.Text));
request.Proxy = new WebProxy(proxysplit[rndd].ToString());
}
}
基本上,我想每次都从代理阵列中获取一个随机代理
有任何想法:?
在我们可以帮助您之前,您需要回答多个问题:
- 错误在? 上发生了哪一行
- 指定的代理是初始化的(即
null
)吗? - 此外,
proxysplit
是初始化的吗?
检查什么不是初始化的,您也可能需要在proxysplit
中的0和元素数之间生成随机数:
if (ProxyBox.Text != string.Empty)
{
lock (locker)
{
Random rnd = new Random();
int rndd = rnd.Next(0, proxysplit.Length);
request.Proxy = new WebProxy(proxysplit[rndd].ToString());
}
}
如果您使用ProxyNumber
,并且所得整数不在proxysplit
数组长度的范围内,则在尝试访问范围超出范围的元素时,您也可能会得到异常,即ArgumentOutOfRangeException
。