Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];

Вниз

Соединение через прокси   Найти похожие ветки 

 
peppo ©   (2005-04-11 22:16) [0]

HTTP.
Насколько я понимаю, для этого достаточно выполнить connect() с прокси-сервером, затем отправлять ему HTTP-запросы, содержащие полный путь к интересующему ресурсу.
Так вот не работает.
Как это делается?

Например:
"GET http://www.yandex.ru/black.html HTTP/1.0"#13#10+
"Host: yandex.ru"#13#10+
"Accept: */*"#13#10+
"Http-Referer: www.yandex.ru"#13#10+
"User-Agent: Internet Explorer 6.0"#13#10+
"Proxy-Connection: close"#13#10#13#10;


На что он мне отвечает:
HTTP/1.1 404 Not Found
Date: Sun, 10 Apr 2005 17:34:17 GMT
Server: Apache/1.3.27 (Unix) mod_throttle/3.1.2 mod_auth_pgsql/0.9.12 PHP/3.0.18-i18n-ja-3 mod_ruby/0.9.7 Ruby/1.6.4 mod_python/2.7.8 Python/2.2.1 mod_perl/1.26 DAV/1.0.3
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>404 Not Found</TITLE>
</HEAD><BODY>
<H1>Not Found</H1>
The requested URL /black.html was not found on this server.<P>
<HR>
<ADDRESS>Apache/1.3.27 Server at support-web.avid.jp Port 80</ADDRESS>
</BODY></HTML>


Очевидно, что ищет он /black.html у себя.

Текст программы:
var
 S: TSocket;
 vSockAddr: TSockAddr;
 vWSAData : TWSAData;

 buf: array[0..1023] of char;;

 S := socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
 if S= INVALID_SOCKET then begin
   Messagebox(0,"INVALID_SOCKET", "Error",0);
   Halt(1);
 end;
 FillChar(vSockAddr, SizeOf(TSockAddr),0);
 vSockAddr.sin_family :=AF_INET;
 vSockAddr.sin_port:=htons(StrToInt("80"));
 vSockAddr.sin_addr.S_addr:=inet_addr(Pchar("218.45.229.101")); //прокси-сервер

 if connect(S,vSockAddr,SizeOf(TSockAddr)) = 0 {SOCKET_ERROR} then
 begin              
   buf:=
"GET http://www.yandex.ru/black.html HTTP/1.0"#13#10+
...
"Proxy-Connection: close"#13#10#13#10;

   send(s,buf,500,0);     //1162

   recv(s,buf,1024,0);
...
 end
 else showmessage("error  "+inttostr(WSAGetLastError() ));

 closesocket(s);


 
dr Tr0jan ©   (2005-04-12 14:32) [1]

А порт у прокси правильный указал? Че-то мне 80 не очень нравится.


 
peppo ©   (2005-04-12 20:39) [2]

Порт - правильно.
Мне он тоже не нравится, появилось предположение, что хост этот перестал быть прокси... а из-за № отвечает как браузеру...
Надо проверить.


 
Sha ©   (2005-04-13 14:48) [3]

> появилось предположение, что хост этот перестал быть прокси

Правильное предположение.



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.04 c
1-1120146273
TStas
2005-06-30 19:44
2005.07.18
Можно ли 7-ми дельфями перекопилировать приложение по Юникс?


1-1120022379
Лёха
2005-06-29 09:19
2005.07.18
Эффекты в компонентах.


14-1118770266
ArMellon
2005-06-14 21:31
2005.07.18
Какие песни Арии вам больше всего нравятся?


14-1119942538
Vlad Oshin
2005-06-28 11:08
2005.07.18
Вчера умерла жена Цоя. Будут ли кино-пробы 2?


1-1120025152
rooker
2005-06-29 10:05
2005.07.18
главное окно программы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский