rails 前台调试
2014-05-08 22:12
281 查看
#include <winsock2.h>
#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;
}
#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;
}
相关文章推荐
- rails Redirect
- ZOJ 3780 Paint the Grid Again(topsort)
- ZOJ 3780 Paint the Grid Again(topsort)
- AIZU 2320 Infnity Maze
- CLOSE_WAIT状态的原因与解决方法 --转
- Rails 图表解决方案汇总
- 【LeetCode】Climbing Stairs
- IDEA无法启动:Failed to create JVM:error code -4
- 添加第三方类库造成的linker command failed with exit code 1 (use -v to see invocation)的错误调试
- 共享keychain数据
- Debian rails Puma god 开机启动
- 【HDOJ】1239 Calling Extraterrestrial Intelligence Again
- 工作问题积累(十四)main函数中两个参数的作用
- CONTAINING_RECORD 宏
- ORA-28056:Writing audit records to Windows EventLog failed的问题
- Ubuntu 无线密码破解利器aircrack-ng
- 2048-AI程序算法分析
- AIX6.1下fsck使用记录
- 解决AIX报错0506-342 无法挂载分区问题
- android调用webservice报错conn.getOutputStream().write(content.getBytes());//出错了 抛出networkonmainthreadexc