Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

25.08.2008, 17:45
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
Пост запрос аяксом ...
Как эмитировать пост запрос посланый аяксом ....?
Я попытался отправить теже даные на тотже файл и чтото ничё не вышло ..
я туплю?
|
|
|

25.08.2008, 17:55
|
|
Постоянный
Регистрация: 06.05.2007
Сообщений: 393
Провел на форуме: 1510937
Репутация:
398
|
|
ajax
var Ajax = window.XMLHttpRequest
Добавь перед send()
Код HTML:
Ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
|
|
|

25.08.2008, 20:19
|
|
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме: 10046345
Репутация:
4589
|
|
Я вот так делал .. если надо еще ответ получить от сервера, то добавь
httpRequest.onreadystatechange = function() { твой_обработчик(httpRequest); };
перед httpRequest.open('POST', url, true);
PHP код:
function getResult($var)
{
var httpRequest = false;
var url = 'index.php';
if (window.XMLHttpRequest)
{
httpRequest = new XMLHttpRequest();
if (httpRequest.overrideMimeType)
{
httpRequest.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject)
{
try
{
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e)
{
try
{
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
httpRequest.open('POST', url, true);
httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
httpRequest.send('varvar=' + encodeURI($var));
}
Последний раз редактировалось BlackSun; 25.08.2008 в 20:21..
|
|
|

25.08.2008, 20:25
|
|
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме: 3493315
Репутация:
1228
|
|
небольшой набор функций для работы с ajax
PHP код:
// (c) nc.STRIEM
var resultId;
function getXmlHttp()
{
var xmlhttp;
try
{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E)
{
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
xmlhttp = new XMLHttpRequest();
return xmlhttp;
}
function sendRequest(url, _resultId, method, query)
{
resultId = _resultId;
var httpRequest = getXmlHttp();
var timeout;
if(method == null)
method = 'GET';
window.document.getElementById(resultId).innerHTML = '<center><img src="img/load.gif"></center>';
httpRequest.open(method, url, true);
httpRequest.onreadystatechange = function()
{
if (httpRequest.readyState != 4)
return;
clearTimeout(timeout);
if (httpRequest.status == 200)
window.document.getElementById(resultId).innerHTML = httpRequest.responseText;
else
handleError(httpRequest.statusText);
}
if(query != null)
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
httpRequest.send(query);
timeout = setTimeout( function(){ httpRequest.abort(); handleError("Time over");}, 10000); // таймаут
return false;
}
function GetContents(url, method, query)
{
var httpRequest = getXmlHttp();
var timeout;
if(method == null)
method = 'GET';
httpRequest.open(method, url, false);
if(query != null)
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
httpRequest.send(query);
if (httpRequest.status == 200)
return httpRequest.responseText;
return httpRequest.status+' '+httpRequest.statusText;
}
function handleError(message)
{
window.document.getElementById(resultId).innerHTML = message;
}
function element(id)
{
return encodeURIComponent(window.document.getElementById(id).value);
}
пример использования http://taran.su/guest/
|
|
|

25.08.2008, 21:22
|
|
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,206
Провел на форуме: 4778940
Репутация:
1257
|
|
я так понял что ТС нужен не аякс запрос, а эмитация его, с помощью скриптового языка?
Я попытался отправить теже даные на тотже файл и чтото ничё не вышло ..
а какой код ответа от сервера?
|
|
|

25.08.2008, 21:24
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
mr.The ответ есть ....
Код:
HTTP/1.1 200 OK Server: Zeus/4_3 Date: Mon, 25 Aug 2008 17:29:38 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Content-Type: text/xml; charset=ISO-8859-1 Expires: Thu, 19 Nov 1981 08:52:00 GMT Transfer-Encoding: chunked Pragma: no-cache X-Powered-By: PHP/4.3.4 63 Unknown Function 1. 0
я снифером словил пост данные
Код:
Method=POST /ajax/event_flash.php HTTP/1.1
POSTDATA=xajax=event_flash_set&xajaxr=1219678363229&xajaxargs[]=47534287&xajaxargs[]=mtcFlashCallback
вот то что отсылается ... я пытался повторить ....
PHP код:
$fp = fsockopen(_HOST, _PORT, $errno, $errstr, 30);
$out .= "POST /ajax/event_flash.php HTTP/1.1 \r\n";
$out .= "Host: " . _HOST . "\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded; charset=UTF-8\r\n";
$out .= "Content-Length: " . strlen($data) . "\r\n";
$out .= "Referer: " . _HOST . "/\r\n";
$out .= "User-Agent: Opera/9.27 (Windows NT 5.1; U; ru)\r\n";
$out .= $cook;
$out .= "Connection: close\r\n\r\n";
$out .= $data;
fwrite($fp, $out);
while (!feof($fp))
$answer .= fgets($fp, 1024);
fclose($fp);
снифер ещё какието пост данные словил но они были зашифрованы и всякие иероглифы место даных были. ..
Последний раз редактировалось Doom123; 25.08.2008 в 21:31..
|
|
|

25.08.2008, 21:50
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
тьфу млин ... я идиот ..  там параметр xajaxr задаётся какойта функцией .... и каждый раз новое значение ... еси его поменять то выйдет ошибка
Код:
Error: The XML response that was returned from the server is invalid
Response:
а терь х знает де брать этот xajaxr
|
|
|

25.08.2008, 22:21
|
|
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,206
Провел на форуме: 4778940
Репутация:
1257
|
|
а терь х знает де брать этот xajaxr
парси с пред идущей страницы. разбери полностью код ajax запроса, какие данные откуда беруться ну и тд...
для перехвата http заголовков юзай Proxomitron. работает как локальный проксик, и заголовки оч хорошо показывает. только отключи все фильтры и включи показ post данных.
|
|
|

25.08.2008, 22:37
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
mr.The я ужо забросил это дело =)
с моими знания аякса копать 30 JS файлов ... =)) не стоит это того )))
пля + закончились =\\
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|