发布下一组数据时输入字符串错误

时间:2014-09-10 00:40:25

标签: c# web-scraping fiddler

前几天我的刮刀工作得非常好,当我意识到我没有获得足够的记录时,我决定搜索邮政编码,不得不改变我的一些代码。第一个POST和RESPONSE顺利完成,但当我发布以获得下一页结果时,它在响应中失败。

起始代码是......

public void StartScrape()
{
    List<string> a = lstPostalCodes();
    for (int i = 0; i <= lstPostalCodes().Count; i++)
    {
        b = a[i];
        FirstRequestResponse(b);

        if (GoBackToStartSearch == "CONTINUEON")
            StartNextRequest(GetViewState(ResponseData));
        else
        {
            WriteDataToFile(ResponseData);
            FinalClean();
        }
    }
}

我调用的方法是StartNextRequest。在StartNextRequest方法中是

private void GetResults(HttpWebRequest wr)
{
    using (StreamReader responseReader = new StreamReader(wr.GetResponse().GetResponseStream()))
    {
        // Add response/results to string
        ResponseData = responseReader.ReadToEnd();
    }
    string strFind = "<li id='nextdisabled'>";

    if (ResponseData.Contains(strFind)) GoBackToStartSearch = "BACKTOSTART";
    else
        GoBackToStartSearch = "CONTINUEON";
}

它抛出的错误是

  

输入字符串的格式不正确

并指向using(StreamReader ...)

我遇到了其他我似乎修复的错误,但随后它又创建了另一个错误,它与等待写入的字节有关。我使用Fiddler2给我更多关于错误的信息,标题几乎相同,除了1是请求而另一个是响应之外,我没有看到太多差异。

我不知道为什么会这样说,我已经逐步完成了我编写的工作代码以清除所有数据结果,并对两者进行了比较。一切看起来都一样。价值都是一样的。

关于我应该在哪些方面解决此问题的任何想法?

0 个答案:

没有答案