【问题标题】:Accessing files on password protected server访问受密码保护的服务器上的文件
【发布时间】:2012-11-18 22:12:45
【问题描述】:

我一直在通过访问 URL 并使用 TFHpple 解析 HTML 树来从公共 Web 服务器检索文档,如下所示:

NSData *documentsHTMLData = [NSData dataWithContentsOfURL:myURL];
TFHpple *documentsParser = [TFHpple hppleWithHTMLData:documentsHTMLData];
....
....

服务器现在受到密码保护,我希望仍然能够访问它,也许使用 MKNetworkKit。据我所知:

MKNetworkEngine *myEngine = [[MKNetworkEngine alloc] init];
MKNetworkOperation *user = [myEngine operationWithURLString:myURL];
[user setUsername:@"test" password:@"test"];
[myEngine enqueueOperation:user];

但不知道如何使用 MKNetworkKit 从那里获得对目录结构的访问权限。

我希望这里的某个人能够为我指明正确的方向。 任何想法都非常感谢。

【问题讨论】:

    标签: objective-c authentication html-parsing hpple mknetworkkit


    【解决方案1】:

    如果您的服务器受密码保护,您需要知道使用的身份验证方案。 如果您的服务器使用 HTTP Basic/Digest 身份验证,则上面的代码应该可以正常工作。如果您的服务器为您提供 HTML 页面并要求您输入用户名/密码(又名,基于 HTTP+HTML 表单的身份验证),那么您就不走运了,除非您进行逆向工程并找到解决方法。

    【讨论】:

    • @Munguth:感谢您的回复。我相信它使用 HTTP 基本身份验证,只要将 url 编码为 http://user:password@myURL 允许访问。我认为上面的代码工作正常,但我对如何获得目录的可见性感到困惑。我尝试简单地将第一个代码 sn-p 放在第二个代码之后,但这没有用。
    • 尝试使用方法 [user addCompletionHandler:errorHandler:] 并从完成处理程序中获取响应字符串。响应字符串将是您应该从中解析数据的 HTML。 url 应该 NOT 包含用户:密码。 MKNetworkKit 在内部执行此操作。
    猜你喜欢
    • 1970-01-01
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-11
    相关资源
    最近更新 更多