繁体   English   中英

ASIFormDataRequest NULL响应

[英]ASIFormDataRequest NULL response

我在我的Obj-c代码中仅具有表单请求,该代码从我的服务器调用了PHP代码


ASIFormDataRequest *req = [[ASIHTTPRequest alloc] initWithURL:url];
[req setPostValue:[NSString stringWithFormat:@"%f",slat] forKey:@"mylat"];
[req setPostValue:[NSString stringWithFormat:@"%f",slng] forKey:@"mylng"];
[req start];
NSLog(@"response -",[req responseString]);
[req release];

在NSLog中没有得到响应,但是它与stringWithContentsOfURL一起运行非常好,我可以在浏览器中看到输出。 甚至我将ASIFormDataRequest更改为ASIHTTPRequest并添加了User-Agent,但没有任何效果。 我也在3.0、3.1.2、4.0、4.1的不同版本的SDK中进行了检查。 但没有回应

我确信服务器的响应很好,

更令人难过的是,相同的ASI代码可以在我的办公室网络(AIRTEL Broadband)上正常运行,而不能在拥有BSNL宽带的家中正常运行,希望这不是服务提供商的问题。

有没有人发现这样的问题。

代替:

[req start]

尝试:

[req startSynchronous]

通常,可以在NSOperation对象上手动调用-start NSOperation ,但是在这种情况下, ASIHTTPRequest显式提供了-startSynchronous方法,因此可能有充分的理由使用它。

尝试...

ASIFormDataRequest *req = [[ASIHTTPRequest alloc] initWithURL:url];
[req setPostValue:[NSString stringWithFormat:@"%f",slat] forKey:@"mylat"];
[req setPostValue:[NSString stringWithFormat:@"%f",slng] forKey:@"mylng"];

 [req startSynchronous];
  NSError *error = [req error];
  if (!error) {
      NSLog(@"response -",[req responseString]);
  }
[req release];

最后,我得到了代理是问题的答案,如果您发现相同的问题,只需检查网络设置中的代理,我不知道abt窗口,在MAC上,因此它很容易实现,代码我二手车(出于安全目的)

ASIFormDataRequest *req = [[ASIFormDataRequest alloc] initWithURL:url];
[req setDelegate:self];
[req startAsynchronous];
NSError *error = [req error];
if (!error) {
    NSLog(@"response -",[req responseString]);
}
[req release];
[url release];
- (void)requestFinished:(ASIHTTPRequest *)request
{
// Use when fetching text data
NSString *responseString = [request responseString];
NSLog(@"response %d-%@",[responseString length],responseString);
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
}

- (void)requestFailed:(ASIHTTPRequest *)request
{
NSError *error = [request error];
NSLog(@"error - %@\n",error);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM