ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

C++ работа с прокси
  #1  
Старый 16.05.2010, 23:52
fire64
Участник форума
Регистрация: 01.04.2008
Сообщений: 200
Провел на форуме:
1059196

Репутация: 39
По умолчанию C++ работа с прокси

Здравствуйте.
Я пытаюсь отправлять GET запросы через HTTP прокси, однако в результате вместо содержимого нужного сайта получаю ошибку HTTP 301 Moved

PHP код:
char *GetQueryFromProxychar *urlchar *proxyhostchar *proxyportchar *Cookie )
{
    
char fulurl[512] = "";

    
sprintffulurlurl);

    if (
memcmp(url,"HTTP://",7)!=&& memcmp(url,"http://",7)!=0)
    {
        return 
NULL;
    }

    
url+=7;

    
// Ïîëó÷èì èìÿ õîñòà, íîìåð ïîðòà è ïóòü ----------------------------
    
char *http_host=strdup(url); // Èìÿ õîñòà (HTTP_HOST)
    
int port_num;             // Íîìåð ïîðòà ïî óìîë÷àíèþ (HTTP_PORT)
    
char *http_path=NULL;        // Ïóòü (REQUEST_URI)

    
char *pch=strchr(http_host,':');
    if (!
pch)
    {
        
pch=strchr(http_host,'/');
        
        if (
pch)
        {
            *
pch=0;
            
http_path=strdup(pch+1);
        }
        else
        {
            
http_path=strdup("");
        }
    }
    else
    {
        *
pch=0;pch++;
        
char *pch1 strchr(pch,'/');

        if (
pch1)
        {
            *
pch1=0;
            
http_path=strdup(pch1+1);
        }
        
        else 
http_path=strdup("");
    }
    
    
port_num atoi(proxyport);

    if (
port_num==0)
    {
        
port_num 80;
    }
    
    
WSADATA wsaData;

    
WSAStartup(MAKEWORD(2,2), &wsaData);

    
SOCKET  name_sock;

    
name_sock=socket AF_INETSOCK_STREAMIPPROTO_TCP ); 

    
sockaddr_in  dest_addr;
    
dest_addr.sin_family=AF_INET;
    
dest_addr.sin_port=htons port_num );
    
dest_addr.sin_addr.s_addr resolve(proxyhost);

    
int server_addr_size sizeof(dest_addr);

    if( 
connect(name_sock, (sockaddr*)&dest_addrsizeof(dest_addr)) == -)
    {
        
closesocket(name_sock );

        
WSACleanup();

        return 
NULL;
    }
    else
    {
        
char query[2048];

        
strcpy(query,"GET ");
        
strcat(query,fulurl);
        
strcat(query," HTTP/1.1\r\nHost: ");
        
strcat(query,http_host);
        
strcat(query,"\r\nUser-agent: Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
        
        
strcat(query,"\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
        
strcat(query,"\r\nAccept-Language: ru,en-us;q=0.7,en;q=0.3");
        
strcat(query,"\r\nAccept-Encoding: gzip,deflate");
        
strcat(query,"\r\nAccept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7");
        
strcat(query,"\r\nKeep-Alive: 115");
        
strcat(query,"\r\nProxy-Connection: keep-alive");
      
        if( 
Cookie )
        {
            
strcat(query,"\r\nCookie: ");
            
strcat(query,Cookie);
        }
        
        
strcat(query,"\r\n\r\n");


        
// Send the magic http request
        
if (send(name_sockquerystrlen(query), 0) == SOCKET_ERROR)
        {
            
closesocket(name_sock );

            
WSACleanup();

            return 
NULL;
        }
    }

    
int nNumRead;

    
int otvetsize;

    
char otvet[40960];

    
otvetsize 40960;

    
nNumRead recv(name_sockotvetotvetsize0);

    
closesocket(name_sock );

    
WSACleanup();

    return 
otvet;

 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[FAQ] по добыче прокси для брута mff ICQ 177 04.06.2010 10:24
Proxy FAQ iv. Анонимность 75 01.05.2010 13:24
FAQ по Прокси gars0n Авторские статьи 4 12.04.2010 14:01
Proxy FAQ foreva Чужие Статьи 12 04.01.2008 12:15
Прокси: Как вас вычислить если вы под анонимным прокси Geveres Статьи 0 19.11.2005 17:02



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ