5

我正在使用 ASIHTTPRequest 类来与 Web 服务通信并获得响应。这就是我向服务器发送请求的方式

NSString *str = [NSString stringWithFormat:@"%@verifyLogin.json", serverUrl];
NSURL *url = [NSURL URLWithString:[str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
ASIHTTPRequest *request = [[[ASIHTTPRequest alloc] initWithURL:url] autorelease];
[request addRequestHeader:@"Content-Type" value:@"text/x-gwt-rpc; charset=utf-8"];
NSDictionary* data = [NSDictionary dictionaryWithObjectsAndKeys:emailId, @"username", pwd, @"password", nil];
[request appendPostData: [[data JSONFragment] dataUsingEncoding: NSUTF8StringEncoding]];
[request setRequestMethod:@"POST"];
[request setDelegate:self];
[request setDidFinishSelector: @selector(gotLoginResponse:)];
[request setDidFailSelector: @selector(loginRequestFailed:)];

[networkQueue addOperation: request];
[networkQueue go];

控制立即进入错误程序,错误描述和域是

无法启动 HTTP 连接ASIHTTPRequestErrorDomain

我可以通过用于检查 HTTP 请求的桌面工具获得相同的请求,因此我知道设置都是正确的。

有人可以告诉我在发送请求时我在这里缺少什么吗?

谢谢。

4

3 回答 3

5

正如我之前评论的那样;

在你的第一行它说“%verifyLogin.json”。不应该这样吗?“%@verifyLogin.json” ????

于 2009-10-20T14:01:58.037 回答
2

对我来说,我在本地测试时忘记添加 http:// 。但是添加http后它运行成功

于 2013-09-10T14:02:58.397 回答
0

当请求失败时,您可以检查请求的状态码吗?我最近使用 ASI-HTTP-Request 处理了一个 JSON 用户身份验证问题,其中第一个请求总是会失败,状态码为 0 和某种底层网络连接失败(好像它没有连接到互联网,但显然是) .

我能够通过将该特定请求设置为不尝试使用持久连接来解决它。

所以先试试吧!

于 2010-07-30T15:15:45.020 回答