我的程序正在使用带有cURL代码的PHP文件的JS XMLHTTP请求来检索另一个页面的内容。我正在调用PHP文件,以避免浏览器发生跨域请求错误。我需要向我的PHP文件发送一个JS变量psswd
,这样它就可以在执行cURL请求时使用它。
我正在使用以下JavaScript代码来获取另一个页面的内容:
var psswd = "test";
var xmlhttp;
if (window.XMLHttpRequest){ xmlhttp = new XMLHttpRequest(); }
else{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
xmlhttp.open("POST", "parsefeed.php?psswd=" + psswd, false);
xmlhttp.send();
我需要使用此变量的cURL PHP脚本是:
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_URL => $url ,
CURLOPT_SSLCERT => $cert_file ,
CURLOPT_SSLCERTPASSWD => $< * VARIABLE GOES HERE * >,
);
curl_setopt_array($ch , $options);
$output = curl_exec($ch);
echo $output;
我已尝试使用$_POST['psswd']
并检查是否有任何内容发布,但似乎无效。有关如何验证变量的任何想法正在传递?
答案 0 :(得分:0)
对于可通过PHP访问的有效POST请求,您必须指定标头并使用.send()
方法传递数据:
xmlhttp.open("POST", "parsefeed.php", false);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send("psswd=" + psswd);
但它会更安全,更容易使用jQuerys ajax abilities。