Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 文本文件中的更多webrequest_C# 4.0 - Fatal编程技术网

C# 4.0 文本文件中的更多webrequest

C# 4.0 文本文件中的更多webrequest,c#-4.0,C# 4.0,我有这个: using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; namespace ConsoleApplication2 { public class Progra

我有这个:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace ConsoleApplication2
{
   public class Program
    {
        static void Main(string[] args)
        {

            //Consider making this configurable
            const string sourceFile = "testSolar.txt";
            const string pattern = "http://10.123.9.66:80";
            Regex re = new Regex("^(http|https)://");
            //var res = re.Match(str);


            var webClient = new WebClient();
            var times = new Dictionary<string, TimeSpan>();
            var stopwatch = new System.Diagnostics.Stopwatch();

            //Add header so if headers are tracked, it will show it is your application rather than something ambiguous
            webClient.Headers.Add(HttpRequestHeader.UserAgent, "Response-Tester-Client");

            var urlList = new List<string>();

            //Loop through the lines in the file to get the urls 
            try
            {
                stopwatch.Start();
                using (var reader = new StreamReader(sourceFile))
                {

                    while (!reader.EndOfStream)
                    {
                        var urNewList = new List<string>();
                        var line = reader.ReadLine();
                        //line = line.Substring(line.IndexOf(pattern));
                        //line.Split("\t");
                        var columns = line.Split('\t');

                        if (columns[2] == "R")
                        {
                            var url = columns[4] + "?" + columns[5];
                            urlList.Add(url);
                        }

                    }
                }
            }

            catch (Exception e)
            {
                Console.WriteLine("An error occured while attempting to access the source file at {0}", sourceFile);
            }
            finally
            {
                //Stop, record and reset the stopwatch
                stopwatch.Stop();
                times.Add("FileReadTime", stopwatch.Elapsed);
                stopwatch.Reset();
            }

            //Try to connect to each url
            var counter = 1;
            foreach (var url in urlList)
            {
                try
                {
                    stopwatch.Start();
                    webClient.DownloadString(url);

                }
                catch (Exception e)
                {
                    Console.WriteLine("An error occured while attempting to connect to {0}", url);
                }
                finally
                {
                    stopwatch.Stop();

                    //We use the counter for a friendlier url as the current ones are unwieldly
                    times.Add("Url " + counter, stopwatch.Elapsed);
                    counter++;

                    stopwatch.Reset();
                }
            }

            //Release the resources for the WebClient 
            webClient.Dispose();

            //Write the response times
            foreach (var key in times.Keys)
            {
                Console.WriteLine("{0}: {1}", key, times[key].TotalSeconds);
            }


            Console.ReadKey();
        }
    }
}
但如果我只有一行,像这样:

2014-08-25 14:20:45,930 DEV hmb0uqzc10s0ounwdhpwmflp    1   R   O   http://10.123.9.66:80/solr_3.6/combi_live/select/   qt=standard_a2aperson&q=(((((nosyn_name_last_b_exact:(qxqkruijsqxq))))))&fq=(nosyn_name_first_exact:(qxqw*qxq))&fq=(nosyn_name_last_exact:(qxqtreurenqxq))&spellcheck.q=(qxqw*qxq qxqtreurenqxq  kruijs)&spellcheck=true&spellcheck.count=-3&start=0&sort=date_main asc, score desc&omitHeader=true
那就行了,但如果我有更多,我就会得到一个 远程服务器返回错误:(404)未找到


感谢您的帮助

请将标题编辑为英文。。。您是否已经尝试在调试器中检查url值?url是正确的。我在浏览器中进行了测试,但是如果我在文本文件中添加了更多https,那么它就会出错。如果我只放1个http,那么一切正常。我相信URL本身是好的,但是你在运行时检查了
urlist
的内容了吗?是的,它们也很好,我只是把它们放在浏览器中,然后我得到了好的XML。但是有没有一种方法像:WebClient.Reset之类的?我收到这样的消息:我们不再接受来自这个帐户的答案。查看帮助中心了解更多信息??我做错了什么?我已经找到了解决方案,我想发布它。但现在我无法发布解决方案。你为什么这么快就在这个网站上受到惩罚?我只是发布了一个问题。我做错了什么??
2014-08-25 14:20:45,930 DEV hmb0uqzc10s0ounwdhpwmflp    1   R   O   http://10.123.9.66:80/solr_3.6/combi_live/select/   qt=standard_a2aperson&q=(((((nosyn_name_last_b_exact:(qxqkruijsqxq))))))&fq=(nosyn_name_first_exact:(qxqw*qxq))&fq=(nosyn_name_last_exact:(qxqtreurenqxq))&spellcheck.q=(qxqw*qxq qxqtreurenqxq  kruijs)&spellcheck=true&spellcheck.count=-3&start=0&sort=date_main asc, score desc&omitHeader=true