Здравствуйте. Подскажите пожалуйста в чем может быть проблема. Имеется внешний скрипт отправки сообщения на сайт 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 анонимных













