首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Abot Crawler -如何检测空响应

Abot Crawler -如何检测空响应
EN

Stack Overflow用户
提问于 2016-11-08 12:30:03
回答 1查看 151关注 0票数 2

我正在使用vb.net,并且有一些拒绝爬行的URL。我真的很想检测爬行何时返回空响应,但似乎有一个问题,弄清楚如何。

代码:

代码语言:javascript
复制
Public Sub crawler_ProcessPageCrawlCompleted(sender As Object, e As PageCrawlCompletedArgs)

    pageNumber += 1
    Try

        Dim crawledPage As CrawledPage = e.CrawledPage


        If (Not (crawledPage.HttpWebResponse Is Nothing) And Not (crawledPage.WebException Is Nothing)) Or crawledPage.HttpWebResponse.StatusCode <> HttpStatusCode.OK Then
            CrawlFailed(e.CrawledPage.ToString, Failed)
        Else

            If String.IsNullOrEmpty(crawledPage.Content.Text) Then
                CrawlFailed(e.CrawledPage.ToString, NoContent)
            Else
                StoreContent(e)
            End If

        End If


    Catch ex As Exception
        RichTextBox1.AppendText(e.CrawledPage.ToString & " - " & ex.Message & vbCrLf)
    End Try

End Sub

我输入了捕捉--尝试捕获异常,但我更愿意在我的CrawlFailed子程序中捕获它,以便对该URL执行一些操作。

我试图弄清楚如何使用GetResponseStream和Stream.Null,但似乎找不出如何检测空流:(我只是遗漏了一些东西,但我搜索遍了所有地方,我能找到的最好的就是这个线程:crawledPage.HttpWebResponse is null in Abot )。

然而,这并不能真正解释如何根据结果进行检测和编码。

EN

回答 1

Stack Overflow用户

发布于 2017-01-18 18:37:44

我也有同样的问题(dotnet ),我可以看到,在一个小提琴会话中,响应确实出现了。但我也看到网站需要很长时间才能返回结果。

尝试将config.HttpRequestTimeoutInSeconds设置为更高的值。它解决了我的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40487022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档