...
ClientSocket->Host = "ps.myproxy.ru"; ClientSocket->Port = 3128;
...
void __fastcall TForm1::ClientSocketProxyConnect(TObject *Sender,
TCustomWinSocket *Socket)
{
String Request("GET http://www.codenet.ru HTTP/1.0\r\n\
Host: codenet.ru\r\n\
Proxy-Authorization : Basic wyu43h3jh4isyhuy=\r\n\r\n");
Socket->SendBuf(Request.c_str(), Request.Length());
}
Http
Если ставлю в ClientSocket->Host = "ps.proxy.ru"; ClientSocket->Port = 3128;
А в OnConnect делаю так, то нифига не выходит. Куда впердолить 80?
void __fastcall TForm1::ClientSocketProxyConnect(TObject *Sender,
TCustomWinSocket *Socket)
{
String Request("GET / HTTP/1.0\r\n\
Host: codenet.ru\r\n\
Proxy-Authorization: Basic ");
Request = Request + Base64Encode("user:password") + String("\r\n\r\n");
Socket->SendBuf(Request.c_str(), Request.Length());
}
Спецы по WinSock есть? HELP однако!
Цитата:
Originally posted by GIZMO
ОЧЕНЬ хочу вот получить страничку по HTTP.
ОЧЕНЬ хочу вот получить страничку по HTTP.
Код:
407 и 3.14здец. Что делать?
И какой способ авторизации на прокси включен ?
Есть разные способы авторизации... (Java - консоль,определение IP, определение MAC,если на машине пользователя ставится клиент от проксика, то может учитываться и имя программы запрашивающей данные и имя сеанса на компьютере пользователя и т.д. и т.п. ...)
У тебя там точно Basic работает ?
Конечно лучше всего перехватить траффик от Explorer, работающего через этот твой прокси
и посмотреть на заголовки HTTP
Например при помощи TCPLogger.exe или ей подобной...
А вообще запрос выглядит так
Код:
GET http://www.mail.ru/ HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*
Accept-Language: ru
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322)
Host: mail.ru
Proxy-Connection: Keep-Alive
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*
Accept-Language: ru
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322)
Host: mail.ru
Proxy-Connection: Keep-Alive
Если нужен другой порт , то пишем так
Код:
Host: mail.ru:8181
Обрати особое внимание на синтаксис первой строки
и на строку "Proxy-Connection"
Удачи.
Цитата:
Originally posted by ART-CODE
Выходишь в интернет через прокси ? А Какой прокси ?
Выходишь в интернет через прокси ? А Какой прокси ?
Не знаю. Как узнать можно?
Цитата:
Originally posted by ART-CODE
И какой способ авторизации на прокси включен ?
Есть разные способы авторизации... (Java - консоль,определение IP, определение MAC,если на машине пользователя ставится клиент от проксика, то может учитываться и имя программы запрашивающей данные и имя сеанса на компьютере пользователя и т.д. и т.п. ...)
И какой способ авторизации на прокси включен ?
Есть разные способы авторизации... (Java - консоль,определение IP, определение MAC,если на машине пользователя ставится клиент от проксика, то может учитываться и имя программы запрашивающей данные и имя сеанса на компьютере пользователя и т.д. и т.п. ...)
Тоже хз. Вот, что шлет IE:
Код:
GET http://www.codenet.ru/ HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*
Accept-Language: ru
Cookie: bbuserid=8513; bbpassword=3c97d40199689b24f1db45b81f3f95b8; cnstid=1407739433; bblastvisit=1129700111
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Host: codenet.ru
Proxy-Connection: Keep-Alive
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*
Accept-Language: ru
Cookie: bbuserid=8513; bbpassword=3c97d40199689b24f1db45b81f3f95b8; cnstid=1407739433; bblastvisit=1129700111
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Host: codenet.ru
Proxy-Connection: Keep-Alive
а потом, похоже после запроса имени и пароля:
Код:
GET http://www.codenet.ru/ HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*
Accept-Language: ru
Cookie: bbuserid=8513; bbpassword=3c97d40199689b24f1db45b81f3f95b8; cnstid=1407739433; bblastvisit=1129700111
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Host: codenet.ru
Proxy-Connection: Keep-Alive
Proxy-Authorization: Basic YtGJjK3j24h4kajfYT==
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*
Accept-Language: ru
Cookie: bbuserid=8513; bbpassword=3c97d40199689b24f1db45b81f3f95b8; cnstid=1407739433; bblastvisit=1129700111
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Host: codenet.ru
Proxy-Connection: Keep-Alive
Proxy-Authorization: Basic YtGJjK3j24h4kajfYT==
Цитата:
Originally posted by ART-CODE
У тебя там точно Basic работает ?
У тебя там точно Basic работает ?
TCP_Logger показывает, что - ДА.
Ставлю ClientSocket->Host = ps.myproxy.ru, Port(proxy)=3128 и засылаю такой запрос в OnConnect:
Код:
void __fastcall TForm1::ClientSocketProxyConnect(TObject *Sender,
TCustomWinSocket *Socket)
{
String Request1("GET http://www.codenet.ru/ HTTP/1.0\r\n\
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*\r\n\
Accept-Language: ru\
Cookie: bbuserid=8513; bbpassword=3c97d40199689b24f1db45b81f3f95b8; cnstid=1407739433; bblastvisit=1129700111\
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n\
Host: codenet.ru\r\n\
Proxy-Connection: Keep-Alive\r\n\
Proxy-Authorization: Basic YTrgfjhjG7%djfh==\r\n\r\n");
Socket->SendBuf(Request.c_str(), Request.Length());
}
//---------------------------------------------------
TCustomWinSocket *Socket)
{
String Request1("GET http://www.codenet.ru/ HTTP/1.0\r\n\
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*\r\n\
Accept-Language: ru\
Cookie: bbuserid=8513; bbpassword=3c97d40199689b24f1db45b81f3f95b8; cnstid=1407739433; bblastvisit=1129700111\
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n\
Host: codenet.ru\r\n\
Proxy-Connection: Keep-Alive\r\n\
Proxy-Authorization: Basic YTrgfjhjG7%djfh==\r\n\r\n");
Socket->SendBuf(Request.c_str(), Request.Length());
}
//---------------------------------------------------
а он мне:
Код:
HTTP/1.0 407 Proxy Authentication Required
Server: squid/2.5.STABLE7
Mime-Version: 1.0
Date: Wed, 26 Oct 2005 09:02:05 GMT
Content-Type: text/html
Content-Length: 1298
Expires: Wed, 26 Oct 2005 09:02:05 GMT
X-Squid-Error: ERR_CACHE_ACCESS_DENIED 0
Proxy-Authenticate: Basic realm="Proxy-caching server LNPP"
X-Cache: MISS from ps2.laes.ru
Proxy-Connection: close
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: Cache Access Denied</TITLE>
<STYLE type="text/css"></STYLE>
</HEAD>
<BODY>
<H1>ERROR</H1>
<H2>Cache Access Denied</H2>
<HR noshade size="1px">
While trying to retrieve the URL:
http://www.codenet.ru/
The following error was encountered:
<UL>
<LI>
Cache Access Denied.
[/list]</P>
Sorry, you are not currently allowed to request:
<PRE> http://www.codenet.ru/</PRE>
from this cache until you have authenticated yourself.
</P>
You need to use Netscape version 2.0 or greater, or Microsoft Internet
Explorer 3.0, or an HTTP/1.1 compliant browser for this to work. Please
contact the [email="webmaster"]cache administrator[/email] if you have
difficulties authenticating yourself or
change your default password.
</P>
<BR clear="all">
<HR noshade size="1px">
<ADDRESS>
Generated Wed, 26 Oct 2005 09:02:05 GMT by ps2.laes.ru (squid/2.5.STABLE7)
</ADDRESS>
</BODY></HTML>
Server: squid/2.5.STABLE7
Mime-Version: 1.0
Date: Wed, 26 Oct 2005 09:02:05 GMT
Content-Type: text/html
Content-Length: 1298
Expires: Wed, 26 Oct 2005 09:02:05 GMT
X-Squid-Error: ERR_CACHE_ACCESS_DENIED 0
Proxy-Authenticate: Basic realm="Proxy-caching server LNPP"
X-Cache: MISS from ps2.laes.ru
Proxy-Connection: close
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: Cache Access Denied</TITLE>
<STYLE type="text/css"></STYLE>
</HEAD>
<BODY>
<H1>ERROR</H1>
<H2>Cache Access Denied</H2>
<HR noshade size="1px">
While trying to retrieve the URL:
http://www.codenet.ru/
The following error was encountered:
<UL>
<LI>
Cache Access Denied.
[/list]</P>
Sorry, you are not currently allowed to request:
<PRE> http://www.codenet.ru/</PRE>
from this cache until you have authenticated yourself.
</P>
You need to use Netscape version 2.0 or greater, or Microsoft Internet
Explorer 3.0, or an HTTP/1.1 compliant browser for this to work. Please
contact the [email="webmaster"]cache administrator[/email] if you have
difficulties authenticating yourself or
change your default password.
</P>
<BR clear="all">
<HR noshade size="1px">
<ADDRESS>
Generated Wed, 26 Oct 2005 09:02:05 GMT by ps2.laes.ru (squid/2.5.STABLE7)
</ADDRESS>
</BODY></HTML>
чего-то Я притупляю, А?
http://squid.opennet.ru/
А может просто забыл поставить несколько переводов строк ?
Вот испр. вариант.
Код:
String Request1("GET http://www.codenet.ru/ HTTP/1.0\r\n\
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*\r\n\
Accept-Language: ru\r\n\
Cookie: bbuserid=8513; bbpassword=3c97d40199689b24f1db45b81f3f95b8; cnstid=1407739433; bblastvisit=1129700111\r\n\
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n\
Host: codenet.ru\r\n\
Proxy-Connection: Keep-Alive\r\n\
Proxy-Authorization: Basic YTrgfjhjG7%djfh==\r\n\r\n");
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*\r\n\
Accept-Language: ru\r\n\
Cookie: bbuserid=8513; bbpassword=3c97d40199689b24f1db45b81f3f95b8; cnstid=1407739433; bblastvisit=1129700111\r\n\
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n\
Host: codenet.ru\r\n\
Proxy-Connection: Keep-Alive\r\n\
Proxy-Authorization: Basic YTrgfjhjG7%djfh==\r\n\r\n");
А еще - уточни - может сначала нужно послать запрос без строки "Proxy-Authorization", а
после этого в ответ на требование авторизваться
уже дослать запрос , содержащий пароль ?
Вопрос вот какой: в отдельном соединении выполнять
1-ый (без пароля) и 2-ой (с паролем) заросы или
выполнить их последовательно - в одном
соединении ? Нужно провести пару экспериментов.
Цитата:
Originally posted by ART-CODE
А может просто забыл поставить несколько переводов строк ?
А может просто забыл поставить несколько переводов строк ?
Нет. С этим вроде все нормально. Твой(исправленный) вариант тоже не работает.
Цитата:
Originally posted by ART-CODE
А еще - уточни - может сначала нужно послать запрос без строки "Proxy-Authorization", а
после этого в ответ на требование авторизваться
уже дослать запрос , содержащий пароль ?
А еще - уточни - может сначала нужно послать запрос без строки "Proxy-Authorization", а
после этого в ответ на требование авторизваться
уже дослать запрос , содержащий пароль ?
Тоже об этом думал, но как это реализовать и где??? OnRead?
Цитата:
Originally posted by ART-CODE
Вопрос вот какой: в отдельном соединении выполнять
1-ый (без пароля) и 2-ой (с паролем) заросы или
выполнить их последовательно - в одном
соединении ? Нужно провести пару экспериментов.
Вопрос вот какой: в отдельном соединении выполнять
1-ый (без пароля) и 2-ой (с паролем) заросы или
выполнить их последовательно - в одном
соединении ? Нужно провести пару экспериментов.
Без разницы можно и в одном соединении
Цитата:
Originally posted by GIZMO
Нет. С этим вроде все нормально. Твой(исправленный) вариант тоже не работает.
Нет. С этим вроде все нормально. Твой(исправленный) вариант тоже не работает.
записал в одну строчку и - 200 OK
ART_CODE персональное спасибо за участие!