我需要PHP将参数从一个域提交到另一个域。 JavaScript不是我的选择。我现在正尝试在PHP中使用CURL,但在绕过跨域方面未成功。
从domain_A,我有一个页面,其中包含以下带有CURL脚本的PHP:
if (_iscurl()){
echo "<p>CURL is enabled</p>";
$url = "http://domain_B/process.php?id=123&amt=100&jsonp=?";
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,10);
curl_setopt($ch, CURLOPT_USERAGENT , "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
curl_setopt($ch, CURLOPT_URL, $url );
$return = curl_exec($ch);
curl_close($ch);
echo "<p>Finished operations</p>";
}
else{
echo "CURL is disabled";
}
?>
我没有得到任何结果,所以我假设PHP CURL脚本不成功。有任何解决办法吗?
谢谢
最佳答案
好吧,有点晚了。但是,为可能面临类似问题的更多读者添加此答案。当我们将php curl请求从通过HTTP托管的域发送到通过https托管的域(通过SSL的HTTP)发送php curl请求时,有时会出现此问题。
在执行curl之前,只需添加以下代码段即可。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);