我想使用ASIHTTP库发送请求,如:
HTTP GET http://a.com/?user=abc&pass=123
我不想自己构造字符串,因为我认为ASI HTTP库已经解决了一些UTF-8编码问题,我只能找到要使用的API:
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:engine.userID forKey:@"from_id"];
但我不能使用POST,因为服务器不支持它。
答案 0 :(得分:1)
NSURL *url = [NSURL URLWithString:@"http://www.myweb.com?Id=1&name=xyz"];
__block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setRequestMethod:@"GET"];
[request startAsynchronous];
答案 1 :(得分:-1)
NSString *profileURL = [NSString stringWithFormat:@"http://www.bs.com"];
ASIFormDataRequest * request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:profileURL]];
[request setRequestMethod:@"POST"]; // or GET
request.delegate = self;
[request setPostValue:[self getJSONPostData] forKey:@"json"];
[request startAsynchronous];
答案 2 :(得分:-1)
接受的答案不起作用。
以下是使用ASIHTTP将GET与查询结合使用时需要做的事情 在原始问题的背景下,这是工作代码。
- (void)_getDataFor:(NSURL *)url withHandler:(void(^)(ASIHTTPRequest *))handler
{
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://a.com/?user=%@&pass=%@", @"user", @"pass"]];
__weak ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setRequestMethod:@"GET"];
[request setCompletedBlock:handler];
[request startAsynchronous];
}
您必须创建一个“处理程序”块来处理响应。 此代码是ARC投诉。