【问题标题】:IOS > Open URL in Safari with POSTIOS > 使用 POST 在 Safari 中打开 URL
【发布时间】:2012-03-18 23:46:48
【问题描述】:

我想在 Safari 中从 UIView 启动一个 URL,发送 POST 数据。这将允许我加载我的 Paypal 页面。

通常,在 HTML 中我们必须这样做:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="text-align:center;" target="_blank">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="XXXXXXXXXXX">
<input type="submit" value="Faire un don" id="donpaypal">
</form>

我知道我可以用这几行打开一个新 URL:

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString: @"http:://I.have.a.beautifull.website.com"]];

是否有指定 POST 数据的意思,或者您有意思吗?

【问题讨论】:

    标签: ios url paypal safari http-post


    【解决方案1】:

    我建议您使用 UIWebView 实现您的自定义浏览器。 UIWebView 可以加载 NSURLRequest。 看看下面的代码

    NSString *post = @"yourPostInformation";
    NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
    
    NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
    
    [request setURL:[NSURL URLWithString:baseURL]];    
    [request setTimeoutInterval:60];
    
    [request setHTTPMethod:@"POST"];
    [request setHTTPBody:postData];
    
    [myWebView loadRequest:request];
    

    【讨论】:

    • 只是为了让你知道我是怎么做到的:NSString *post = @"cmd=_s-xclick&hosted_button_id=XXXXXXXXXXXXX"; NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; [请求 setURL:[NSURL URLWithString:@"paypal.com/cgi-bin/webscr"]]; [请求 setTimeoutInterval:60]; [请求 setHTTPMethod:@"POST"]; [请求 setHTTPBody:postData]; [webView loadRequest:request];
    • 使用此代码的应用将被苹果拒绝...他们更喜欢您使用应用内购买...不允许使用 Paypal
    • 如何发送到不在 UIWebView 上的 Safari?
    猜你喜欢
    • 2019-11-26
    • 1970-01-01
    • 2012-10-23
    • 1970-01-01
    • 1970-01-01
    • 2011-09-04
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    相关资源
    最近更新 更多