SharePoint爬网-STS4的Windows身份验证失败?

SharePoint爬网-STS4的Windows身份验证失败?,sharepoint,authentication,sharepoint-2010,web-crawler,Sharepoint,Authentication,Sharepoint 2010,Web Crawler,在Sharepoint 2010安装中,我们尝试对小型单节点Sharepoint安装的内容进行爬网。爬行部分成功。我们能够检索从web服务(_vti_bin/sitedata.asmx)交付的数据,但是当爬虫程序尝试访问整个页面内容时,它失败了。爬网日志中显示的错误消息为: 爬网程序无法与服务器通信。检查服务器是否可用,以及防火墙访问配置是否正确 ULS中记录的错误为: 2010年8月27日01:52:02.92 mssdmn.exe(0x0A7C)0x03E4 SharePoint Serve

在Sharepoint 2010安装中,我们尝试对小型单节点Sharepoint安装的内容进行爬网。爬行部分成功。我们能够检索从web服务(_vti_bin/sitedata.asmx)交付的数据,但是当爬虫程序尝试访问整个页面内容时,它失败了。爬网日志中显示的错误消息为:

爬网程序无法与服务器通信。检查服务器是否可用,以及防火墙访问配置是否正确

ULS中记录的错误为:

2010年8月27日01:52:02.92 mssdmn.exe(0x0A7C)0x03E4 SharePoint Server搜索HTTP协议处理程序du54 High-CHttpAccessorHelper::InitRequestInternal-请求“”身份验证1时出现意外状态(500)。[httpachelper.cxx:657]d:\office\source\search\native\gather\protocols\http\httpachelper.cxx
2010年8月27日01:52:02.92 mssdmn.exe(0x0A7C)0x03E4 SharePoint Server Search PHSts dv44 High CSTS3Accessor::Init:InitRequest因URL返回错误而失败,返回给调用方,hr=80041206[sts3acc.cxx:546]d:\office\source\Search\native\gather\protocols\sts3\sts3acc.cxx
08/27/2010 01:52:02.92 mssdmn.exe(0x0A7C)0x03E4 SharePoint Server搜索PHSts dvb1 High CSTS3访问器::Init失败,Url sts4://staging.dsr.dk/siteurl=/siteid={a78b7d4f-059f-4484-8564-449cd12a97cf}/weburl=/webid={1189e380-76fd-44b7-99a2-ebd4f7245c3d},hr=80041206[sts3handler.cxx:312]d:\office\source\search\native\gather\protocols\sts3\sts3handler.cxx
2010年8月27日01:52:02.92 mssdmn.exe(0x0A7C)0x03E4 SharePoint Server Search PHSts dvb2 High CSTS3Handler::CreateAccessorExD:返回调用方错误,hr=80041206[sts3handler.cxx:330]d:\office\source\Search\native\gather\protocols\sts3\sts3handler.cxx

我们已根据_http://support.microsoft.com/kb/896861 (方法1)

我们使用Fiddler2查看HTTP流量,这似乎很正常,也就是说,我们可以看到对_vti_bin/…的所有请求,但是上面显示的对sts4协议的请求没有被Fiddler2捕获。我们欢迎提供有关如何调试sts4流量的提示

关于如何使爬虫程序成功抓取整个页面内容,有什么建议吗

谢谢大家!


托马斯(Thomas)

事实证明,提示位于ULS日志的更高位置:

意外的System.FormatException:输入字符串的格式不正确。System.Number.StringtNumber(字符串str、NumberStyles选项、NumberBuffer&Number、NumberFormatInfo、Boolean parseDecimal)的System.Number.ParseInt32(字符串s、NumberStyles样式、NumberFormatInfo)在System.Convert.ToInt32(字符串值)位于DSR.Portal.Core.Service.Identity.IdentityUtility.GetMember(字符串MemberNumber或CPR)位于DSR.Portal.Core.Service.Identity.DSRMembershipProvider.GetUser(字符串用户名,布尔userIsOnline)位于DSR.Portal.Core.Service.Identity.DSRMembershipUser.get_Current()

我们实现了一个自定义成员身份提供程序,该提供程序期望用户id为数字。对于Windows身份验证用户,此操作失败,引发上述堆栈跟踪。因此,爬虫帐户无法检索页面,这导致“gatherer”出现问题

因此,故事的寓意是:始终确保Windows身份验证工作正常

问候

托马斯