Главная страница
    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.034 c
14-1119527005
NewWonder
2005-06-23 15:43
2005.07.18
Что должно быть в ТЗ для программы средней сложности?


14-1119429983
timotei
2005-06-22 12:46
2005.07.18
Memory Spy


14-1119904045
BigMac
2005-06-28 00:27
2005.07.18
Forex


14-1119482785
kaif
2005-06-23 03:26
2005.07.18
Зацените сайт


14-1119966914
pavel_guzhanov
2005-06-28 17:55
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский