<style>
input{
width: 350px;
}
</style>
<form method="post" action="?">
<div style="width: 150px; display: inline-block; ">URL: </div><input name="url" value="<?php echo htmlspecialchars($_POST['url']); ?>"><br />
<div style="width: 150px; ">Post: </div>
<textarea name="postdata" style="width: 500px; height: 300px;"><?php echo htmlspecialchars($_POST['postdata']); ?></textarea><br />
<div style="width: 150px; display: inline-block; ">Файл Root CA: </div><input name="ca_cert" value="<?php echo htmlspecialchars($_POST['ca_cert']); ?>"><br />
<div style="width: 150px; display: inline-block; ">Файл-ключ: </div><input name="pem_cert" value="<?php echo htmlspecialchars($_POST['pem_cert']); ?>"><br />
<div style="width: 150px; display: inline-block; ">Файл-ключ (пароль): </div><input name="pem_cert_key" value="<?php echo htmlspecialchars($_POST['pem_cert_key']); ?>"><br />
<input type="hidden" name="action" value="submit">
<input type="submit">
</form><?php
if ($_POST['action']=='submit'){
$url =$_POST['url'];
$postdata=$_POST['postdata'];
$ch=curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$data_type=gettype($data);
// $postdata=((($data_type=='array')or($data_type=='object')) ? json_encode($data) : $data);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
if (preg_match('|^https\\:|', $url)){
// Вставляем рутовый ключ сервера
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_CAINFO, $_POST['ca_cert']);
if ($_POST['pem_cert']!=''){
// Вставляем наш ключ
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true);
curl_setopt($ch, CURLOPT_SSLCERT, $_POST['pem_cert']);
curl_setopt($ch, CURLOPT_SSLCERTPASSWD, $_POST['pem_cert_key']);
}
}
$buf=curl_exec($ch);
echo 'Curl Errno: '.curl_errno($ch);
echo '<div style="color: green;">'.htmlspecialchars($buf).'</div><pre>';
print_r(json_decode($buf));
echo '</pre>';
}
?>
Comments