不在WiFi上时需要ASIHTTPRequest身份验证,并提供凭据

时间:2011-09-18 15:48:15

标签: asihttprequest wwan

我在使用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上工作时,请求成功,应用程序继续......

但是当我连接到蜂窝网络时,完全相同的请求会出错:     错误:错误域= ASIHTTPRequestErrorDomain代码= 3“需要身份验证”UserInfo = 0x2e8ef0 {NSLocalizedDescription =需要身份验证}

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

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

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

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

我有点困惑,因为在WiFi上一切都很完美,

我希望这里的任何人能够指出我正确的方向..

1 个答案:

答案 0 :(得分:0)

(在问题编辑中回答。转换为社区维基回答。请参阅What is the appropriate action when the answer to a question is added to the question itself?

OP写道:

  

我收到了提示并将网址更改为https,这解决了所有问题! (如果将来有人经历同样的问题,我会留下问题。)