我希望能够将变量发送到另一个网站,而无需使用php实际访问该网站。
我正在建立一个电子商务网站,其中的运输仓库正在外包。在该人员检查他们的产品后,我想使用$ _GET ['vars']将一些变量发送到托运人的网站。这是一个完全不同的URL。问题是,我不希望这个人真正去托运人的网页。我只想在那边ping那些信息。
是否可以通过URL将变量发送到另一个站点而无需离开?
答案 0 :(得分:1)
是的,你可以。最简单的方法:
$contents = file_get_contents("http://example.com/some/page.php?var=abcd");
有关更多高级功能,请参阅Curl。
答案 1 :(得分:1)
您应该在数据库中存储所有相关的订单信息,然后使用cron触发将处理未处理的脚本,这样就可以在向您的外包站点发出任何请求之前对订单进行系统检查。不要依赖于您的用户浏览器在订单流程中触及一个窗帘点来触发API调用或信任他们在提交之前不要三次点击或注入值。
我建议使用curl todo你的实际请求更快。简单的事情:
<?php
function curl_do_api($url){
if (!function_exists('curl_init')){
die('Sorry cURL is not installed!');
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
?>
答案 2 :(得分:0)
两者都是对的,你应该根据你正在寻找的安全性做出选择。
cURL会更安全,如果你不想在查询字符串中传递一些参数,你应该使用它。在使用file_get_cotents(“URL?data = value”)传递数据的同时;对于传递的数据,你将有大约2k的限制。
另一方面,如果您使用https,cURL将是安全的,它更加安全。使用cURL,您还可以发布文件并模拟表单。
答案 3 :(得分:0)
实际上有一种更简单的解决方法......使用 ajax
首先包括jquery标题
请参考这里
http://api.jquery.com/jQuery.ajax/