Перейти к содержимому


Проблема с внешним скриптом


Сообщений в теме: 5

#1 aleks.goodcolor

    Активный участник

  • Пользователи
  • PipPipPip
  • 198 сообщений
  • Пол:Мужчина
  • Город:Йошкар-ола

Отправлено 03 Декабрь 2014 - 09:53

Здравствуйте. Подскажите пожалуйста в чем может быть проблема. Имеется внешний скрипт отправки сообщения на сайт alibaba.com, для отправки сообщения используется curl, чтобы подгрузить форму и отправить запись через доп. действие. Проблема следующая - при отправке из мозиллы скрипт работает, а вот если использовать другой браузер, то нет. Причина в самой crm, так как если этот скрипт устанавливать на обычный сервер, то он работает на любом браузере. Выявить причину данной проблемы не получается.

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 03 Декабрь 2014 - 12:57

Каким образом браузер то может на это влиять? Во внешнем скрипте используется JS? Если дело в вашем скрипте, то непонятно причем тут КБ тогда, если форма доп.действия запускается через curl. На работу curl браузер влиять не может, это серверная часть.

#3 aleks.goodcolor

    Активный участник

  • Пользователи
  • PipPipPip
  • 198 сообщений
  • Пол:Мужчина
  • Город:Йошкар-ола

Отправлено 03 Декабрь 2014 - 14:01

по непонятным причинам форма с подгрузкой сайта работает в мозиле и не работает в других браузерах. Может быть есть какое-то веширование или еще что-то на кнопках доп. действия?

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 03 Декабрь 2014 - 14:49

Да вроде нет ничего такого, даже не знаю в чем дело может быть.

#5 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 03 Декабрь 2014 - 21:20

Думаю, для начала покажите скрипты.

#6 aleks.goodcolor

    Активный участник

  • Пользователи
  • PipPipPip
  • 198 сообщений
  • Пол:Мужчина
  • Город:Йошкар-ола

Отправлено 04 Декабрь 2014 - 09:47

<?
  $config['script_noauth'] = 1;
  include "common.php";
  mb_internal_encoding("UTF-8");

  //получаем значения из браузера
  $url = $_REQUEST['url'];
  $email = $_REQUEST['email2'];
  $subject = $_REQUEST['subject'];
  $text = $_REQUEST['text'];
  //или задаем еще откуда-то

  if($email && $subject && $text) //проверяем что поля заполнены
  {
   
    $mas['Сообщение'] = "Тема:<br>".$subject."<br><br>Сообщение:<br>".$text;
    $mas['Действие'] = "Обращение";
    $mas['Поставщик'] = $_REQUEST['line_id'];
    insert_query($mas, "Работа с поставщиком");
  }
  $headers = array
  (
    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*;q=0.8',
    'Accept-Language: ru, en-us;q=0.7,en;q=0.3',
    'Accept-Encoding: deflate',
    'Accept-Charset: utf-8;q=0.7,*;q=0.7'
  );
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
  curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729)');
  curl_setopt($ch, CURLOPT_REFERER, 'https://alibaba.com/');
  curl_setopt($ch, CURLOPT_TIMEOUT, 360);
  curl_setopt($ch, CURLOPT_AUTOREFERER, true);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
 
  //curl_setopt($ch, CURLOPT_HEADER, 1);
  //curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT']."/alib.txt");
  //curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT']."/alib.txt");
  curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT']."/cookie.txt");
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 
  $data = curl_exec($ch);
  if (curl_errno($ch))
  {
    print "CURL Error: " . curl_error($ch);
    die;
  }
 
  curl_close($ch);
  /*echo $url . '<br/>' . $email . '<br/>' . $subject . '<br/>' .  $text;
  die;*/
  $form = str_replace('</textarea>', $text.'</textarea>', $data);
  $form = str_replace('document.domain = "alibaba.com"', 'document.domain = "'.$_SERVER['HTTP_HOST'].'"', $form);
  $form = str_replace('isLogin: false', 'isLogin: true', $form);
  $form = str_replace('/msgsend/inquiry.htm', 'http://message.alibaba.com/msgsend/inquiry.htm', $form);
 
  //дожидаемся запуска
  $form .= '
    <script>
	  onload = function()
	  {
	    _email = document.getElementById("email");
	    _email.value = "'.$email.'";
	   
	    _subject = document.getElementById("subject");
	    _subject.value = "'.$subject.'";
	   
	    //отправляем
	    //document.getElementById ("send").click ();
	  }
    </script>
  ';
 
  //показываем обработку
  echo '<h2 style="color:red;text-align:center;margin-top:5px;margin-bottom:-5px;">Дождитесь отправки сообщения!</h2>'.$form;
 
  #### записываем в базу
  ####
 
 
?>






Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных