Главная страница
    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.036 c
14-1119725269
lookin
2005-06-25 22:47
2005.07.18
Восстановить контакт в ICQ


3-1118048953
вп
2005-06-06 13:09
2005.07.18
Создание запроса или ХП как альтернатива временной таблице


9-1112803576
Sis3
2005-04-06 20:06
2005.07.18
Как распечатать картинку созданную в OpenGl


3-1117714649
suharew
2005-06-02 16:17
2005.07.18
Возможна ли такая ситуация. Кэшируется База?


14-1119391696
ЦУКОР5
2005-06-22 02:08
2005.07.18
В Edit только цифры





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский