PHP 构造 模拟 http 请求 https_request 支持GET和POST

function https_request($url, $data = null)
{
    $curl = curl_init();//初始化
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_TIMEOUT, 30);//允许 cURL 函数执行的最长秒数。
    /*if (!empty($port)) {
        curl_setopt($curl, CURLOPT_PORT, $port);//可选的用来指定连接端口,默认80端口可不写
    }*/
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: application/json;charset=UTF-8'));//设置请求目标url头部信息
    if (!empty($data)) {
        //$data不为空,发送post请求
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data); //$data:数组
    }
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($curl);//执行命令
    $error = curl_error($curl);//错误信息
    if ($error || $output == FALSE) {
        //报错信息
        return 'ERROR ' . curl_error($curl);
    }
    curl_close($curl);
    return $output;
}

下面是在php中输出html后用js提交表单

echo "<html>";
echo "<head>";
echo "<title>Loading...</title>";
echo "<meta http-equiv=\"content-Type\" content=\"text/html; charset=UTF-8\" />";
echo "</head>";
echo "<body>";
echo "<form action=\"{$post_url}\" method=\"post\" frm3\">";
echo "<input type=\"hidden\" name=\"pMerCode\" value=\"{$pMerCode}\">";
echo "<input type=\"hidden\" name=\"p3DesXmlPara\" value=\"{$p3DesXmlPara}\">";
echo "<input type=\"hidden\" name=\"pSign\" value=\"{$pSign}\">";
echo "</form>";
echo "<script language=\"javascript\">";
echo "document.getElementById(\"frm3\").submit();";      
echo "</script>";
echo "</body>";
echo "</html>";