Вообщем в InternetOpenA передается lpszProxy, что, как показал гугл (а не документация, т.к. там этого нет) должно являтся такой строкой: http://ip:port - для хттп прокси socks=ip:port - для сокса. если задать неправильный формат, то прокси игнорируется. HTTP работает отлично, запросы идут через прокси. А вот сокс - косяк. Отправляется (смотрел бряками на send,recv) какая-то хрень, на что сокс сервер отвечает байтами 0x04 0x90. После этого сразу WSA E CONN REFUSED. IE через этот же сокс работает отлично. Подскажите, как юзать ВинИнет через сокс? Горит!
Код (Text): InternetOpenProxy proc local hOpen:dword local hOpenUrl:dword local buffer[4096]:byte local bytewrite:dword invoke InternetOpen,$CTA0("proxy-test"),3,$CTA0("127.0.0.1:8080"),0,0 .if eax != 0 mov hOpen,eax invoke InternetOpenUrl,hOpen,$CTA0("http://www.ya.ru"),0,0,0,0 .if eax != 0 mov hOpenUrl,eax @@: mov bytewrite,0 invoke RtlZeroMemory,addr buffer,sizeof buffer invoke InternetReadFile,hOpenUrl,addr buffer,sizeof buffer,addr bytewrite .if eax != 0 && bytewrite != 0 invoke MessageBox,0,addr buffer,$CTA0("proxy - работает"),0 jmp @B .endif invoke InternetCloseHandle,hOpenUrl .endif invoke InternetCloseHandle,hOpen .endif ret InternetOpenProxy endp Код (Text): InternetOpenSocks proc local hOpen:dword local hRequest:dword local hConnect:dword local buffer[4096]:byte local bytewrite:dword invoke InternetOpen,$CTA0("socks4-test"),3,$CTA0("socks=127.0.0.1:1080"),0,0 .if eax != 0 mov hOpen,eax invoke InternetConnect,hOpen,$CTA0("ya.ru"),INTERNET_DEFAULT_HTTP_PORT,0,0,INTERNET_SERVICE_HTTP,0,0 .if eax != 0 mov hConnect,eax invoke HttpOpenRequest,hConnect,$CTA0("GET"),$CTA0("/"),$CTA0("HTTP/1.1"),0,0,0,1 .if eax != 0 mov hRequest,eax invoke HttpSendRequest,hRequest,0,0,0,0 .if eax == 1 @@: mov bytewrite,0 invoke RtlZeroMemory,addr buffer,sizeof buffer invoke InternetReadFile,hRequest,addr buffer,sizeof buffer,addr bytewrite .if eax != 0 && bytewrite != 0 invoke MessageBox,0,addr buffer,$CTA0("socks4 - работает"),0 jmp @B .endif .endif invoke InternetCloseHandle,hRequest .endif .endif invoke InternetCloseHandle,hOpen .endif ret InternetOpenSocks endp