Я разрабатываю программу, которая отправляет HTTP-запросы на различные поисковые системы и получает ответы. Сделал для поиска английских слов. Но что касается русских — тут огромная проблема! Понаблюдав за работой IE6 заметил, что русские буквы передаются в каком-то закодированном виде, на один символ два шеснадцатеричных числа, причём, на разных поисковиках — одинаковые символы кодируются по-разному.

Вы бы не могли подсказать, как осуществляются запросы такого рода? Знаете алгоритм?
Я очень прошу ответить, буду вам очень признателен. ОГРОМНОЕ спасибо заранее!
Здравствуйте, J-Pro, Вы писали:
JP>Я очень прошу ответить, буду вам очень признателен. ОГРОМНОЕ спасибо заранее!
см.
кодирование при передачиАвтор:
Дата: 15.08.04
int UrlEncode(char *szText, char* szDst, int bufsize) {
char ch;
char szHex[5];
int iMax,i,j;
ZeroMemory( szDst, bufsize );
iMax = bufsize-2;
szDst[0]='\0';
for (i = 0,j=0; szText[i] && j <= iMax; i++) {
ch = szText[i];
if (isalnum(ch))
szDst[j++]=ch;
else if (ch == ' ')
szDst[j++]='+';
else {
if (j+2 > iMax) break;
szDst[j++]='%';
sprintf(szHex, "%-2.2X", ch);
strncpy(szDst+j,szHex,2);
j += 2;
}
}
return 0;
}
Всё, разобрался.
"unsafe chars" просто кодируются в hex, а перед hex-кодом каждого символа стоит '%'.
помогла статья
http://www.faqs.org/rfcs/rfc1738.html
Функция, данная в ответе неправильно работает. Написал свою — всё пошло.
Спасибо всем за помощь!
Здравствуйте, J-Pro, Вы писали:
JP>Функция, данная в ответе неправильно работает. Написал свою — всё пошло.
а ты еще попробуй