How to send HTTPS posts using php(如何使用 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?
谢谢尼科
推荐答案
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 帖子的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何使用 php 发送 HTTPS 帖子
基础教程推荐
- 如何在 XAMPP 上启用 mysqli? 2021-01-01
- phpmyadmin 错误“#1062 - 密钥 1 的重复条目‘1’" 2022-01-01
- Doctrine 2 - 在多对多关系中记录更改 2022-01-01
- 在 yii2 中迁移时出现异常“找不到驱动程序" 2022-01-01
- PHP 守护进程/worker 环境 2022-01-01
- 找不到类“AppHttpControllersDB",我也无法使用新模型 2022-01-01
- HTTP 与 FTP 上传 2021-01-01
- 在 CakePHP 2.0 中使用 Html Helper 时未定义的变量 2021-01-01
- 使用 PDO 转义列名 2021-01-01
- 如何在 Symfony 和 Doctrine 中实现多对多和一对多? 2022-01-01