用AFNetworking POST数据,可是服务器却收不到。$SERVER显示的是REQUEST_METHOD=GET
这个问题是服务器端url重定向造成的,解决的方法:用NSURLConnectionDelegate中的
- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse方法。request是新的request 其中的url可能是来回来的一样,
redirectResponse是新的链接,可能是null
例:
- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse
{
NSLog(@"redirectRequest :%@", request);
NSLog(@"redirectResponse :%@", redirectResponse);
NSLog(@"redirect!!!!!!!!!!!!!!!!");
if (redirectResponse) { // 重定后新的链接
NSMutableURLRequest *r = [request mutableCopy]; // original request
[r setURL: [request URL]]; // 修改成新的url
NSLog(@"r: %@", r );
return r;
} else {
return request; // 新,旧url一样。
}
}
==========================================
request 的 Content-Type 要设置成 application/x-www-form-urlencoded
要是text/xxx会造成 CONTENT_LENGTH > 0 可是$_POST为空
===========================================
望哪位大侠有更好的方法,看到请多指教