2

我在使用 ASIHTTPRequest 时遇到了一些奇怪的行为。

我正在尝试连接到一个网站,该网站在加载页面时提示用户提供他/她的凭据。

为了使用 ASIHTTPRequest 实现这一点,我使用了以下代码:

NSURL *URL = [NSURL URLWithString:@"http://fhict.fontys.nl/Pages/Welkom.aspx"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:URL];

[request setUsername:theUsername];
[request setPassword:thePassword];
[request setDelegate:self];

[request startAsynchronous];

我确定提供给请求的凭据是正确的,当我在 WiFi 上工作时,请求成功并且应用程序继续运行..

但是当我连接到蜂窝网络时,完全相同的请求给出了一个错误:error:Error Domain=ASIHTTPRequestErrorDomain Code=3 "Authentication required" UserInfo=0x2e8ef0 {NSLocalizedDescription=Authentication required}

我检查了,当凭据不正确时也会出现同样的错误,但我已经仔细检查了它们并且它们是正确的!

为了解决这个问题,我尝试过:

  • 将超时设置为 2 分钟(我知道过度杀伤,但只是为了测试),这导致了同样的错误
  • 为 WWAN 启用并设置带宽限制(如http://allseeing-i.com/ASIHTTPRequest/How-to-use中所述,搜索 WWAN),但没有任何改变
  • 设置启用 shouldPresentCredentialsBeforeChallange 并将 basichttpheader 添加到请求中,但随后 WiFi 也停止工作..

然后在谷歌上搜索了很多,仍然没有解决方案。

我有点困惑,因为在 WiFi 上一切正常,

我希望这里的任何人都可以指出我正确的方向..

4

1 回答 1

0

(在问题编辑中回答。转换为社区 wiki 答案。请参阅将问题的答案添加到问题本身时的适当操作是什么?

OP写道:

我得到了提示并将网址更改为 https,这解决了所有问题!(我留下的问题是将来是否有人会遇到同样的情况..)

于 2015-02-08T17:52:24.647 回答