Forum Webscript.Ru

Программирование => PHP => Тема начата: kvr66 от 02 Февраля 2005, 03:38:13

Название: Проблема с curl_init()
Отправлено: kvr66 от 02 Февраля 2005, 03:38:13
Есть вот такой скриптик, дал его один знакомый, у него он работает нормально, а я ставлю, не хочет работать, может подскажите в чем дело

class APayments
{
  var $PROCES_DETAILS;
 
  function Breakout($errno, $key="")
  {
    switch($errno)
    {
      case 1:
        $this->PROCES_DETAILS["Error"]  = "Error with var $key";
      break;
 
      case 2:
        $this->PROCES_DETAILS["Error"]  = "No vars";
      break;
 
      case 3:
        $this->PROCES_DETAILS["Error"]  = "Could not connect to e-gold server";
      break;
    }
  }
 
  function Check_vars($vars)
  {
    if($vars["ERROR"])
      $this->PROCES_DETAILS["Error"]  = $vars["ERROR"];
    elseif($vars["PAYMENT_BATCH_NUM"] && $vars["PAYMENT_AMOUNT"])
      $this->PROCES_DETAILS["Batch"]  = $vars["PAYMENT_BATCH_NUM"];
    else
      $this->PROCES_DETAILS["Error"]  = "Unknown error";
  }
 
  function Output($output)
  {
    if(preg_match_all("//", $output, $matches))
    {
      $num  = count($matches[1]);
 
      for($i=0;$i<$num;$i++)
      {
        $output_vars[$matches[1][$i]]  = $matches[2][$i];
      }
 
      $this->Check_vars($output_vars);
    }
    else
    {
      $this->Breakout(2);
    }
  }
 
  function Pay($data)
  {
    $vars    = "";
 
    foreach($data AS $key => $value)
    {
      if($key && $value)
        $vars    .= "$key=$value&";
      else
        $this->Breakout(1, $key);
    }
 
    if($vars)
      $vars    = substr($vars, 0, strlen($vars) - 1);
    else
      $this->Breakout(2);
 
    $cu      = curl_init();
 
    curl_setopt($cu, CURLOPT_URL,        "https://www.e-gold.com/acct/confirm.asp");
    curl_setopt($cu, CURLOPT_SSL_VERIFYHOST,  2);
    curl_setopt($cu, CURLOPT_USERAGENT,      "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
    curl_setopt($cu, CURLOPT_POST,        1);
    curl_setopt($cu, CURLOPT_POSTFIELDS,    $vars);
    curl_setopt($cu, CURLOPT_RETURNTRANSFER,  1);
    curl_setopt($cu, CURLOPT_TIMEOUT,      100);
 
    $output    = curl_exec($cu);
    $succeeded  = curl_errno($cu) == 0 ? true : false;
 
    curl_close($cu);
 
    if(!$succeeded)
      $this->Breakout(3);
    else
      $this->Output($output);
  }
}
 
$apayment  = new APayments;
$data = Array();
$data["AccountID"] = "номер вашего аккаунта";
$data["PassPhrase"] = "Пароль от вашего аккаунта";
$data["Payee_Account"] = "Аккаунт КУДА СТАТЬ ДЕНЬГИ";
$data["Amount"] = "Сумма перевода (разделитель . )";
$data["Memo"] = urlencode(stripslashes("Opisanie perevoda"));
$data["PAY_IN"] = "1";
$data["WORTH_OF"] = "Gold";
$data["IGNORE_RATE_CHANGE"] = "Y";
$apayment->Pay($data);
echo $apayment->PROCES_DETAILS["Error"]; // possible error
echo $apayment->PROCES_DETAILS["Batch"]; // batch nr
?>

выдает ошибку
Could not connect to e-gold server
попробовал в адресе писать не HTTPS, а HTTP
начал выдавать ошибку
 No vars
поспрашал у людей, говорят пиши в техпотдержку хоста, скорее всего отключен curl_init()
написал им, ответили, что все включено
написал опять, с вопросом почему вот этот скрипт на другом хосте работает, а у них нет, пусть разберуться
они ответили, что это скрипт не на РНР , а на ASP , их хост ASP не потдерживает, поэтому не работает.
я что-то не пойму, кто здесь что мутит.
Премного благодарен если подскажите.
Название: Проблема с curl_init()
Отправлено: Lutik от 02 Февраля 2005, 11:28:31
http://ua2.php.net/manual/ru/function.curl-setopt.php
Для начало изучи вот это
А хостерам передай, что они боты тупорылые!
Название: Проблема с curl_init()
Отправлено: kvr66 от 02 Февраля 2005, 12:04:39
А что сказать в чем ошибка, нельзя ?
Надо обязательно показать, что вы умные а я дурак.
Так и вы тоже были когда-то не такими.
Название: Проблема с curl_init()
Отправлено: Lutik от 02 Февраля 2005, 13:19:26
Закинь на хост фаий с кодом : phpinfo();
и посмотри как скручен php
Тебе нуна искать параметр : --with-curl[=DIR]
Если этого нет то понятно почему не пашет. А если есть то ищи ошибку в своем коде и воспользуйся ссылкай данной мной!
Название: Проблема с curl_init()
Отправлено: kvr66 от 02 Февраля 2005, 23:18:52
В общем как я понимаю людей которые могут однозначно сказать, рабочий скрипт или нет, тут нет.
А ответить типа, "где-то, что-то не работает" это я и сам могу.
А насчет того что-бы читать по ссылке, говорю еще раз, если бы знал английский, то тогда другое дело. Если я дам к примеру ссылку на статью на японском и скажу там почитай, ты тоже поймешь я думаю мало что.
Название: Проблема с curl_init()
Отправлено: Макс от 03 Февраля 2005, 01:08:38
kvr66
Цитировать
kvr66:
В общем как я понимаю людей которые могут однозначно сказать, рабочий скрипт или нет, тут нет.

свыкнись с неприятным для тебя фактом : код более чем в 8 строк никто разбирать не будет. Тебе здесь могут помочь решить проблему самому. И тебе подсказали первые шаги (смотри последнее сообщение Lutik-а)
Вторым твоим шагом может быть прочтение http://phpfaq.ru/debug
Название: Проблема с curl_init()
Отправлено: Меняздесьдавнонет от 03 Февраля 2005, 02:17:46
надоело