Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » WAP-переадресация

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

xpnet

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ситуация такая: на винде стоит Apache-2,
на нём есть домен http://wap.domain.ru.
также есть ресурс http://domain.ru:82/wap.
(тот же самый домен, но уже другой порт).
Когда я пытаюсь сделать обычную апачевскую переадресацию - телефон это не воспринимает. Он не может коннектиться на 82 порт. Нужно сделать так, чтобы сервер Apache по адресу wap.domain.ru выдавал страницу с http://domain:82/wap. Телефон будет скачивать информацию с wap.xpnet.ru, а он, в свою очередь с 82 порта.
 
Вообщем, цель: сделать доступным по адресу wap.domain.ru ресурс того же домена, но другого порта. Телефон коннектиться только на 80 порт.
 
Как быть? пожалуста помогите.

Всего записей: 88 | Зарегистр. 17-11-2002 | Отправлено: 02:19 06-04-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Why does a normal HTTP 302 redirect not work with WAP?

Цитата:
The truth is that it does. The crucial detail is the server side script language, or rather the interaction between the server side script language and the web server.  
 
The so called 302 Found HTTP response basically means that the web server tells the user agent that the resource may be found elsewhere, temporarily. All web servers I have tested so far add a Content-type: to the response even if there is no content. By default the Content-type: is in normal circumstances text/html.  
 
Actually, the HTTP specifications on "302 Found" say that the web server, unless the request method was HEAD and not GET, should also send a body containing a short message for the (human) user saying that the location has changed. In WML's case, the short message must obviously be a full WML deck with one card. If the gateway/browser fully supports a redirect, the message will not be shown. If it doesn't, the user will have to manually follow the link to the new location. This is crucial if your script may output any characters, either on purpose or by mistake. ASP is famous for outputting whitespaces where there should be none. This doesn't cause a problem for a HTML browser, but will certainly do so for a WML browser.  
 
Note that none of the examples below contain a body - just the header.  
 
Thanks to Al Sutton, John McAleely and Patrice Slupowski, the following code examples have been tested and found to work on Apache and Microsoft Internet Information Server. If you use another web server or another script language, you should be able to convert these rather simple script snippets. And the keyword is simple. No need to tell the web server to generate a full HTTP header unless you need to. Most web servers will complement the header so that the user agent understands it. This is just to override what's absolutely required as a minimum.  
 
All code examples are available for testing online. If they work, you will be redirected to http://allnetdevices.com/faq/clientinfo.php3 which generates a WML deck with a card that displays all HTTP headers.  
 
PHP code example which can be tested at http://allnetdevices.com/faq/apps/302test.php3:  
 

Код:
 
<?
  header("Location: http://wfaq.net/clientinfo.asp");
  header("Content-type: text/vnd.wap.wml";
?>
 

 
Perl code example which can be tested at http://wap.colorline.no/cgi-bin/302test.pl:  
 

Код:
 
print "Location: http://wfaq.net/clientinfo.asp\n";
print "Content-type: text/vnd.wap.wml\n";
 

 
James Skinner (James.Skinner@nortelnetworks.com) adds that with Perl you can use the No-Parsed-headers option which will produce the complete HTTP response so that the web server does not have to:  
 

Код:
 
#!/usr/local/bin/perl
 
use CGI qw(:standard);
 
print redirect(-uri=>'http://james.istop.com/redirected.wml',-nph=>1);
 

 
This requires informing the web server that the script is a nph script (on Unix you rename the script to start with nph- on NT IIS figures this out by itself )  
 
ASP code example which can be tested at http://194.143.2.94/302test.asp (note different URL):  
 

Код:
 
<%
  Response.Redirect("http://wfaq.net/clientinfo.asp")
  Response.ContentType = "text/vnd.wap.wml"
  Response.Flush
  Response.End
%>
 

 

ЗЫ: http://www.thewirelessfaq.com/8.12.asp
То есть редирект нужно делать не апачем, а страничкой, либо вышеподобным скриптом, с указанием другого порта.


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 02:26 06-04-2003 | Исправлено: Cheery, 02:29 06-04-2003
xpnet

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Файл wap.domain.ru/index.php:
 
<?  
  header("Location: http://wap.domain.ru:81/");  
  header("Content-type: text/vnd.wap.wml";  
?>  
 
Пытаюсь зайти на wap.domain.ru WAP-эмулятором:
 
The webserver told me that 416 Requested Range Not Satisfiable  
 
Добавлено
Порт 81 - я правильно указал
Даже если я заменяю wap.domain.ru:81 на wap.beeline.ru - тот же самый результат!
 
Добавлено
Попробовал сделать на Perl.
Создал wap.domain.ru/cgi-bin/index.pl:
 
#!/usr/local/bin/perl  
 
use CGI qw(:standard);  
 
print redirect(-uri=>'http://wap.domain.ru:81/',-nph=>1);  
 
 
----------
Другой Wap-эмулятор пишет:
 
По указанному адресу тип документа: text/html.
 
Добавлено
Ну а вообще телефон можно заставить коннектиться к 81 порту?

Всего записей: 88 | Зарегистр. 17-11-2002 | Отправлено: 16:21 06-04-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
<?  
  header("Location: http://wap.domain.ru:81/");    
  header("Content-type: text/vnd.wap.wml";  
?>  

header то закрывать нужно скобкой:
header("Content-type: text/vnd.wap.wml");
Когда я так попробовал - эмулятор перебросил на Beeline. К сожалению, попробовать на другой порт нет возможности.  
ЗЫ: да, вижу, что выше у меня тоже было без скобки - я просто скопировал текст

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:28 06-04-2003 | Исправлено: Cheery, 22:29 06-04-2003
xpnet

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Parser failed. Invalid XML syntax.
no element found at line 1, column 0, byte -1  
Click here to see the wml source

Всего записей: 88 | Зарегистр. 17-11-2002 | Отправлено: 00:45 07-04-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xpnet
Какой эмулятор? линк

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:46 07-04-2003
xpnet

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://wap.xpnet.ru/index.php
 
<?
  header("Location: http://wap.beeline.ru/");  
  header("Content-type: text/vnd.wap.wml");  
?>  
 
Эмулятор http://wappy.to
 
Добавлено
А вот tagtag.com нормально сработал.
Спасибо ОГРОМНОЕ!!!

Всего записей: 88 | Зарегистр. 17-11-2002 | Отправлено: 01:53 07-04-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xpnet
А пробелы перед <?  
или после ?>   есть ?) Их не должно быть. Я попробовал этим эмулятором - на моем скрипте сработало.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 01:58 07-04-2003
xpnet

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нет, пробелов нет

Всего записей: 88 | Зарегистр. 17-11-2002 | Отправлено: 02:07 07-04-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xpnet

Цитата:
 
Connection established
GET /index.php HTTP/1.0
Host: wap.xpnet.ru
HTTP/1.1 302 Found
Date: Sun, 06 Apr 2003 22:16:18 GMT
Server: Apache/2.0.43 (Win32) PHP/4.3.0
Accept-Ranges: bytes
X-Powered-By: PHP/4.3.0
Location: http://wap.xpnet.ru:81/
Content-Length: 0
Connection: close
Content-Type: text/vnd.wap.wml;charset=windows-1251
 

Дык уточнять нужно.. откуда я знал, что ты говоришь не о форварде на билайн.
ЗЫ: между прочим у меня и форвард нормально на твой 81 порт делается нормально.
 
Вот что мой сервак выдает и срабатывает на том же эмуляторе:

Цитата:
 
HTTP/1.1 302 Found
Date: Sun, 06 Apr 2003 22:22:59 GMT
Server: Apache/2.0.45 (Win32) mod_ssl/2.0.45 OpenSSL/0.9.7a PHP/4.3.1
Accept-Ranges: bytes
X-Powered-By: PHP/4.3.0
Location: http://wap.xpnet.ru:81/
Connection: close
Content-Type: text/vnd.wap.wml;charset=windows-1251
 


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 02:18 07-04-2003 | Исправлено: Cheery, 02:24 07-04-2003
xpnet

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А в би тоже самое!
http://wap.xpnet.ru/beeline.php

Всего записей: 88 | Зарегистр. 17-11-2002 | Отправлено: 02:23 07-04-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xpnet
Похоже вот это не нравится:
Content-Length: 0

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 02:26 07-04-2003
xpnet

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И что это значит? Вот содержание файла:
<? header("Location: http://wap.beeline.ru/");header("Content-type: text/vnd.wap.wml"); ?>
А вот tagtag.com нормально открывает.
А почему у тебя с твоего нормально грузит?
Ты с сотового можешь глянуть, а то у нас в Би Лайн GPRS уже второй день не пашет

Всего записей: 88 | Зарегистр. 17-11-2002 | Отправлено: 02:28 07-04-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xpnet
Не могу... потому что я просто его не завожу - не люблю я их )  

Цитата:
А почему у тебя с твоего нормально грузит?  

Как видишь разница в том, что мой сервак при перекидывании не выдает content-length. Может быть потому, что у тебя 2.0.43,  а у меня 2.0.45

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 02:32 07-04-2003 | Исправлено: Cheery, 02:33 07-04-2003
xpnet

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я тоже не люблю. Ну что делать? HELP!!!???!!!

Всего записей: 88 | Зарегистр. 17-11-2002 | Отправлено: 02:32 07-04-2003
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » WAP-переадресация


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru