如何使用PHP发送HTTPS帖子 [英] How to send HTTPS posts using php

查看:115
本文介绍了如何使用PHP发送HTTPS帖子的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在设置自定义电子商务解决方案,我正在使用的支付系统要求我发送HTTPS POSTS。

I'm setting up a custom e-commerce solution, and the payment system I'm using requires me to send HTTPS POSTS.

我该怎么做使用php(和CURL?),它与发送http帖子有什么不同?

How can I do this using php (and CURL?), is it any different from sending http posts?

更新:

感谢您的回复,他们非常有用。我假设我需要购买一个SSL证书才能使用,显然我会为最终网站做这个,但有没有办法让我测试一下而不买一个?

Thanks for your replies, they've been very useful. I assume I will need to purchase an SSL certificate for this to work, and I will obviously do this for the final site, but is there any way for me to test this without buying one?

谢谢,Nico

推荐答案

PHP / Curl会正常处理https请求。您可能需要做的事情,特别是在针对开发服务器时,关闭CURLOPT_SSL_VERIFYPEER。这是因为开发服务器可能是自签名的,无法通过验证测试。

PHP/Curl will handle the https request just fine. What you may need to do, especially when going against a dev server, is turn CURLOPT_SSL_VERIFYPEER off. This is because a dev server may be self signed and fail the verify test.

$postfields = array('field1'=>'value1', 'field2'=>'value2');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://foo.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, 1);
// Edit: prior variable $postFields should be $postfields;
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // On dev server only!
$result = curl_exec($ch);

这篇关于如何使用PHP发送HTTPS帖子的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆