Работа с Proxy

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by n00b3, 5 Jan 2011.

  1. n00b3

    n00b3 New Member

    Joined:
    1 Jan 2011
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    В общем сразу хочу сказать, что познания в C++ соответствуют моему нику...Но жизнь суровая, таки заставила.

    В общем имея общем представления я начал гуглить.

    В общем ситуация обстоит так-есть голосование, голоса учитываютса по кукам. Собственно особой проблем нет-словил Post, вставил в инеткряк и дело в шляпе. Но вот я решил подстраховаться, и провернуть это-же дело через прокси.(Конечно для этого дела си не самый подходящий, но так в общем получилось).

    В общем я вот при помощи гугла сделал следующее

    Code:
    #include <iostream>
    #include <arpa/inet.h>
    #include <assert.h>
    #include <errno.h>
    #include <netinet/in.h>
    #include <signal.h>
    #include <stdio.h>
    #include <string.h>
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <sys/wait.h>
    #include <unistd.h>
    
    using namespace std;
    
    
    #define SA struct sockaddr
    #define MAXLINE 4096
    #define LISTENQ 1024
    
    
    
    
    void process_http(FILE *fp, int sockfd){
    	char sendline[MAXLINE], recvline[MAXLINE];
    	ssize_t n;
    	
    	strcpy(sendline,"POST /какой-то/путь HTTP/1.1\r\n");
    	strcat(sendline,"Host: какой-то.домен \r\n");
    	strcat(sendline,"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 \r\n");
    	strcat(sendline,"Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3 \r\n");
    	strcat(sendline,"Accept-Encoding: gzip,deflate \r\n");
    	strcat(sendline,"Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7 \r\n");
    	strcat(sendline,"Content-type: APCMS/AJAX; charset=UTF-8 \r\n");
    	strcat(sendline,"Content-length: 130\r\n\r\n");
    	strcat(sendline,"какой-то параметр\r\n");
    	
    	
    	write(sockfd, sendline, strlen(sendline));
    	while ( ( n = read(sockfd, recvline, MAXLINE)) != 0 )
    	{
    		recvline[n]='\0';
    		fprintf(stderr,"%s",recvline);
    	}
    }
    
    int
    main(int argc, char **argv)
    {
    	int sockfd;
    	struct sockaddr_in servaddr;
    	
    	int n;
    	cin >>n;
    	
    	for (int i=0; i<n ; i++) { 
    		
    		sockfd = socket(AF_INET, SOCK_STREAM, 0);
    		bzero(&servaddr, sizeof(servaddr));
    		servaddr.sin_family = AF_INET;
    		servaddr.sin_port = htons(80);
    		inet_pton(AF_INET,"173.100.125.227", &servaddr.sin_addr);
    		
    		connect(sockfd, (SA *) &servaddr, sizeof(servaddr));
    		process_http(stdin, sockfd);
    	}
    	exit(0);
    	
    }
    код отсылает Post запрос нужное количество раз, но мне надо через прокси его отсылать-тобишь каждый раз через прокси.

    Собственно на счёт прокси гуглинг удачи не пренёс абсолютно никакой(как рунетё, так и бугор). Было пару ссылок с примерами самих серверов и пару ссылок конекта, но компилятор был визуал с вендовыми закарючками.

    В общем если кому не трудно6 помогите к этому быдлокоду дописать поддержку прокси.Тобишь что бы кажды запрос шел с чистого прокси.

    П.С.
    Если кому-нить известна подобная inetcrack'у программа, НО РАБОТАЮЩАЯ не с 1 прокси, а по списку-БУДУ ОЧЕНЬ ПРИЗНАТЕЛЕН!
     
  2. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    https://forum.antichat.net/threadnav228728-1-10.html

    Скомпилируй заного (автор выкладывал исходники (тоже на античате))(естественно только подставь в коде get/post который тебе нужен)
     
    #2 wolmer, 5 Jan 2011
    Last edited: 5 Jan 2011
  3. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Теперь при помощи него же можно попытаться реализовать самому, почитать RFC
    _http://lib.ru/WEBMASTER/rfc2068/
    Что такое прокси сервер
    _http://www.eserv.ru/WhatIsProxyServer
    Ну и конечно же ознакомиться уже с готовыми реализациями...пример во втором посте.
     
  4. Spy2ex

    Spy2ex Elder - Старейшина

    Joined:
    20 Sep 2008
    Messages:
    32
    Likes Received:
    15
    Reputations:
    1
    Если параметры в post запросе константные, есть чекер проксей от d_x там есть возможность задать и список прокси+post+reffere+cookies, тебе поможет.