Главная страница
    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.038 c
14-1119361860
Zelius
2005-06-21 17:51
2005.07.18
Почему тему закрыли?


1-1120148063
Belkova
2005-06-30 20:14
2005.07.18
Процесс не выгружается


1-1119559059
NewWonder
2005-06-24 00:37
2005.07.18
Пара вопросов о DLL


1-1119690819
Petro_
2005-06-25 13:13
2005.07.18
число


9-1112783898
@!!ex
2005-04-06 14:38
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский