iphone - ASIHTTPRequest setPostValue iPhone

标签 iphone ios asihttprequest

我正在访问服务器上的 PHP 脚本。 请求URL是这样的:

 example.com/cgi-bin/getEvent.cgi?EID=19573

当我通过浏览器输入请求时,我得到了预期的结果。

但是,当我使用 ASIHTTP 表单请求时,我得到了结果 就像 EID 不是通过 HTTP 传递的一样。

NSString *eventID = @"19573";
NSString * const EVENT_URL = @"http://example.com/cgi-bin/getEvent.cgi";

-(void)callWebservice
{
    NSURL *url = [NSURL URLWithString:EVENT_URL];
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
    [request setPostValue:eventID forKey:@"EID"];
    [request setNumberOfTimesToRetryOnTimeout:2];
    [request setDelegate:self];
    [request startAsynchronous];
}

有人知道查看所请求的完整 URL 的方法吗? 或者知道为什么这不起作用?

提前致谢。

最佳答案

我的猜测是,您的 PHP 脚本期望参数在查询字符串上发送(即作为 GET 请求)而不是作为 POST 参数。

如果是这种情况,您可以通过发送请求来解决此问题,如下所示:

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@?EID=%@",EVENT_URL,eventID]];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];

关于iphone - ASIHTTPRequest setPostValue iPhone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9024360/

相关文章:

iphone - 快速滚动 UIScrollView 时 UIImageView 停止调整大小

iphone - ASIHttpRequest可达性版本

IOS:在后台单击时删除 View

ios - 如何通过 Xcode 5.1.1 为 iOS 9 更新应用程序

iphone - 应用程序因 FMDB 执行更新查询而卡住

iphone - 如何在 iOS 中使用 ASI Http 将数据发布到 Web 服务?

iOS CIFilters 到底有什么作用?

ios - 如何在应用商店上载第二版本的应用?

ios - Swift 2/XCode 7 - 在另一个类中调用 "EXC_BAD_ACCESS (code=2...)"时为 "ViewController().view"

iphone - SSL 错误、NSURLRequest 和无效证书