Метод GET / Параметры login и password / login:password@localhost:30000
ftp://login:password@ftp.narod.ru - все нормально
Проблема в том, что набирая
login:password@localhost:30000
и считывая этот запрс в своем сервере
(соответственно слушающему порт 30000),
я не вижу среди параметров запроса GET
параметров login и password.
Как все-тки их передать в строке GET?
(Соблюдая указанный выше формат?)
Спасибо.
Язык программирования – c++.
пароль ты можешь получить только если пишешь модуль к апачу.
password ты никак не получишь - тебе апач не отдаст. А login ты можешь получить через переменную среды окружения "USER".
пароль ты можешь получить только если пишешь модуль к апачу.
Thanks
Но дело немного сложнее
Я пишу свой HTTP сервер
И пытаюсь получить получить логин и пассворд
localhost:30000 - здесь живет мой сервак
login:password@localhost:30000 - в такомформате
запрос
И считываю весь этот запрос
от БРОУЗЕРА в своем СЕРВЕРЕ
То есть сервером я считываю данные
НЕПОСРЕДСТВЕННО из tcp/ip сокета
используя Socket API
(кстати под Линухом)
Как с єтим бороться?
Апач же ведб допустим получит логин и пассворд
из такаого запроса?
Thanks.
password ты никак не получишь - тебе апач не отдаст. А login ты можешь получить через переменную среды окружения "USER".
пароль ты можешь получить только если пишешь модуль к апачу.
Небольшой пример :
Browser:
http://userid:password@localhost:30000/application/Machine
Server:
[root@localhost ver5_nika]# ./simple_server
running....
GET /application/Machine HTTP/1.1
Host: localhost:30000
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.2.1) Gecko/20010901
Accept: text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, image/png, image/jpeg, image/gif;q=0.2, text/plain;q=0.8, text/css, */*;q=0.1
Accept-Language: en-us
Accept-Encoding: gzip,deflate,compress,identity
Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66
Keep-Alive: 300
Connection: keep-alive
password ты никак не получишь - тебе апач не отдаст. А login ты можешь получить через переменную среды окружения "USER".
пароль ты можешь получить только если пишешь модуль к апачу.
#include "ServerSocket.h"
#include "SocketException.h"
#include <string>
int main ( int argc, int argv[] )
{
int i = 0;
std::cout << "running....\n";
try{
// Create the socket
ServerSocket server ( 30000 );
ServerSocket new_sock;
server.accept ( new_sock );
try
{
std::string data;
new_sock >> data;
cout << data;
sleep(5);
catch ( SocketException& )
{
}
}
catch ( SocketException& e )
{
std::cout << "Exception was caught:" << e.description() << "\nExiting.\n";
}
std::cout << "running.... before return \n";
return 0;
}