qq_26883845 2015-03-26 01:56 采纳率: 100%
浏览 1606
已采纳

vc6.0的这个程序怎么用?怎么变参数

#include < winsock2.h>
#include < stdio.h>
#include < stdlib.h>
#include < string.h>
#pragma comment(lib,"ws2_32.lib")

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;

}
我不会用这个程序,直接运行出不来结果,貌似要填参数,但是该怎么填?

  • 写回答

3条回答

  • wasb001 2015-03-26 05:35
    关注

    示例如图:图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能