Главная страница
    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
14-1119771886
boriskb
2005-06-26 11:44
2005.07.18
Опять юмор. Скучно.


4-1116656759
ATarget
2005-05-21 10:25
2005.07.18
Как програмируются ресурсы


9-1112794393
Кирилл
2005-04-06 17:33
2005.07.18
Effects


1-1120214242
Тучудище
2005-07-01 14:37
2005.07.18
Перекодирование из GSM(7 битной кодировки) в ASCII например


14-1118846605
Vulko
2005-06-15 18:43
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский