使用XMLHTTP JavaScript使用cURL PHP接收参数

时间:2014-07-15 13:49:17

标签: javascript php curl xmlhttprequest

我的程序正在使用带有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']并检查是否有任何内容发布,但似乎无效。有关如何验证变量的任何想法正在传递?

1 个答案:

答案 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