Advertisement
NokitaKaze

Наколеночная проверялка/эмулятор

Aug 29th, 2014
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.12 KB | None | 0 0
  1. <style>
  2.  input{
  3.   width: 350px;
  4.  }
  5. </style>
  6. <form method="post" action="?">
  7.  <div style="width: 150px; display: inline-block; ">URL: </div><input name="url" value="<?php echo htmlspecialchars($_POST['url']); ?>"><br />
  8.  <div style="width: 150px; ">Post: </div>
  9.  <textarea name="postdata" style="width: 500px; height: 300px;"><?php echo htmlspecialchars($_POST['postdata']); ?></textarea><br />
  10.  
  11.  <div style="width: 150px; display: inline-block; ">Файл Root CA: </div><input name="ca_cert" value="<?php echo htmlspecialchars($_POST['ca_cert']); ?>"><br />
  12.  <div style="width: 150px; display: inline-block; ">Файл-ключ: </div><input name="pem_cert" value="<?php echo htmlspecialchars($_POST['pem_cert']); ?>"><br />
  13.  <div style="width: 150px; display: inline-block; ">Файл-ключ (пароль): </div><input name="pem_cert_key" value="<?php echo htmlspecialchars($_POST['pem_cert_key']); ?>"><br />
  14.  <input type="hidden" name="action" value="submit">
  15.  <input type="submit">
  16.  
  17. </form><?php
  18.  if ($_POST['action']=='submit'){
  19.   $url     =$_POST['url'];
  20.   $postdata=$_POST['postdata'];
  21.  
  22.   $ch=curl_init($url);
  23.   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  24.   curl_setopt($ch, CURLOPT_POST, 1);
  25.  
  26.   $data_type=gettype($data);
  27.   //  $postdata=((($data_type=='array')or($data_type=='object')) ? json_encode($data) : $data);
  28.   curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
  29.   curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
  30.  
  31.   if (preg_match('|^https\\:|', $url)){
  32.    // Вставляем рутовый ключ сервера
  33.    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
  34.    curl_setopt($ch, CURLOPT_CAINFO, $_POST['ca_cert']);
  35.  
  36.    if ($_POST['pem_cert']!=''){
  37.     // Вставляем наш ключ
  38.     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true);
  39.     curl_setopt($ch, CURLOPT_SSLCERT, $_POST['pem_cert']);
  40.     curl_setopt($ch, CURLOPT_SSLCERTPASSWD, $_POST['pem_cert_key']);
  41.    }
  42.   }
  43.  
  44.   $buf=curl_exec($ch);
  45.   echo 'Curl Errno: '.curl_errno($ch);
  46.   echo '<div style="color: green;">'.htmlspecialchars($buf).'</div><pre>';
  47.   print_r(json_decode($buf));
  48.   echo '</pre>';
  49.  }
  50.  
  51. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement