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


Проблема с внешним скриптом
Автор aleks.goodcolor, 03 дек. 2014 09:53
Сообщений в теме: 5
#1
Отправлено 03 Декабрь 2014 - 09:53
#2
Отправлено 03 Декабрь 2014 - 12:57
Каким образом браузер то может на это влиять? Во внешнем скрипте используется JS? Если дело в вашем скрипте, то непонятно причем тут КБ тогда, если форма доп.действия запускается через curl. На работу curl браузер влиять не может, это серверная часть.
#3
Отправлено 03 Декабрь 2014 - 14:01
по непонятным причинам форма с подгрузкой сайта работает в мозиле и не работает в других браузерах. Может быть есть какое-то веширование или еще что-то на кнопках доп. действия?
#4
Отправлено 03 Декабрь 2014 - 14:49
Да вроде нет ничего такого, даже не знаю в чем дело может быть.
#5
Отправлено 03 Декабрь 2014 - 21:20
Думаю, для начала покажите скрипты.
#6
Отправлено 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 анонимных