如何通过WebKit发送POST请求

时间:2011-06-09 14:20:06

标签: objective-c cocoa webkit

将WebKit WebView导航到URL非常简单:

NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[[m_webView mainFrame] loadRequest:requestObj];

我无法看到在何处/如何将POST数据添加到任何这些对象。如何使用Cocoa中的托管WebView执行Post?


答案的示例代码:

NSData* postData = postString;
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
NSString* contentLength = [NSString stringWithFormat:@"%d", [data length]];
[urlRequest setValue:contentLength forHTTPHeaderField:@"Content-Length"];
[urlRequest setHTTPBody:postData];
[[m_webView mainFrame] loadRequest:urlRequest];  

1 个答案:

答案 0 :(得分:2)

使用NSMutableURLRequest对象。它有一个setHTTPMethod:方法。