Php 使用cURL将数据发布到外部URL

Php 使用cURL将数据发布到外部URL,php,curl,Php,Curl,我想使用cURL将一些数据发布到外部URL,下面是他们要求嵌入的代码,出于一些技术需要,我需要创建自己的表单操作,所以我需要cURL,所以发布这些数据: 这就是我被要求嵌入的内容: <form action='https://external.com/blabla' name=715000002374001 method='POST'> <input type='text'name='xnQsjsdp' value='c942f375287f707b73'/> &

我想使用cURL将一些数据发布到外部URL,下面是他们要求嵌入的代码,出于一些技术需要,我需要创建自己的表单操作,所以我需要cURL,所以发布这些数据: 这就是我被要求嵌入的内容:

<form action='https://external.com/blabla' name=715000002374001 method='POST'>  
<input type='text'name='xnQsjsdp' value='c942f375287f707b73'/>  
<input type='hidden' name='zc_gad' id='zc_gad' value=''/> 
 <input type='text'name='xmIwtLD' value=1aff1efd0a4'/>  
<input type='text' name='actionType' value='TGVhZHM='/> 
<input type='text' name='returnURL' value='http&#x3a;&#x2f;&#x2f;www.blabla.de' />
</form>

但似乎不起作用

你可以像这样使用这个类

class YourClass
{

   private static $base_url = 'http://localhost/projects/';
   private static $key = 'your_key';
   private static $secret = 'your_secret';

   public static function yourMethodName($id = '', $fields = '', $is_return_transfer = 0)
   {

      if (is_array($fields))
      {
         $fields_str = http_build_query($fields, '', '&');
      } else
      {
         $fields_str = $fields;
      }
      $fields_str = $fields_str . "&key=" . self::$key . "&secret=" . self::$secret;
      $id_str = ($id != '') ? "/$id" : "";
      $url = self::$base_url . $id_str;

      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $url);
      curl_setopt($ch, CURLOPT_POST, count($fields));
      curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_str);
      if ($is_return_transfer == 1)
      {
         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      }
      $result = curl_exec($ch);
      curl_close($ch);
      return $result;
   }

}

您可以像您的class::yourMethodName($id,$fields,$is\u return\u transfer)一样使用它

如果(curl_exec($ch)==false){echo'curl error:'.curl_error($ch)}我没有任何错误我没有$key和$secret。我写了我所有的东西如果你想验证隐私,你可以使用这个密钥和密码,或者像private static$key='your_key'那样删除那一行;private static$secret='your_secret';$fields\u str=$fields\u str。“&key=”。self::$key。“&secret=”。self::$secret;
class YourClass
{

   private static $base_url = 'http://localhost/projects/';
   private static $key = 'your_key';
   private static $secret = 'your_secret';

   public static function yourMethodName($id = '', $fields = '', $is_return_transfer = 0)
   {

      if (is_array($fields))
      {
         $fields_str = http_build_query($fields, '', '&');
      } else
      {
         $fields_str = $fields;
      }
      $fields_str = $fields_str . "&key=" . self::$key . "&secret=" . self::$secret;
      $id_str = ($id != '') ? "/$id" : "";
      $url = self::$base_url . $id_str;

      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $url);
      curl_setopt($ch, CURLOPT_POST, count($fields));
      curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_str);
      if ($is_return_transfer == 1)
      {
         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      }
      $result = curl_exec($ch);
      curl_close($ch);
      return $result;
   }

}