#include
#include
#include <winsock.h> main(int argc,char *argv[]){
char buff[4096];
SOCKET sock;
SOCKADDR_IN addr; WSADATA wsa;
WORD wVersionRequested;
struct hostent *hs;
int count, len;
char *url="www.sample.com"; if (argc!=4) {printf("Error!\n"); return -1; }
len=(strlen(argv[1])+strlen(argv[2])+strlen(argv[3])+49); wVersionRequested = MAKEWORD( 2, 0 );
if (WSAStartup(wVersionRequested , &wsa)!=0)
{
printf("Winsock Initialization failed.\n"); return -1;
} if ((sock=socket(AF_INET,SOCK_STREAM,0))==INVALID_SOCKET){
printf("Can not create socket.\n"); return -1;
} addr.sin_family = AF_INET;
addr.sin_port = htons(80);
_snprintf(buff, 4096, "POST /cgi-bin/forum.cgi HTTP/1.1\r\n"
"Host: %s\r\n"
"Content-Type: application/x-www-form-urlencoded\r\n"
"Content-Length: %d\r\n"
"\r\n"
"action=add&Title=%s&URL=http://%s&yuzi=1&Description=%s\r\n",
url,
len,
argv[1],
argv[2],
argv[3]);
if ((addr.sin_addr.s_addr=inet_addr(url))==-1){
if ((hs=gethostbyname(url))==NULL){
printf("Can not resolve specified host.\n"); return -1;
} addr.sin_family = hs->h_addrtype;
memcpy((void *)&addr.sin_addr.s_addr,hs->h_addr,hs->h_length);
} if (connect(sock,(LPSOCKADDR)&addr,sizeof(addr))==SOCKET_ERROR){
printf("Can not connect to specified host.\n"); return -1;
}
send(sock,buff,strlen(buff),0);
recv(sock,buff,sizeof(buff),0);
closesocket(sock);
}
return 0;
}
解决方案 »
- winform 时间控件的问题
- 都进来帮帮我.
- NET网站建设,模块自动添加的标签如何弄?
- ImageList 如何遍历里面的key?
- TopN问题
- 急救::关于登录问题,我用C# 2005,编写的C/S程序,登录时当输入用户名admin,密码111时,数据库表里有这些数据,但是运行时程序提示用户信息不存在??
- Oracle查询语句中的select * from tb1, tb2 where tb1.id=tb2(id+)这里的(id+)起什么作用啊?
- 调用存储过程时出错
- 关于引用类型的参数传递???
- 请问一下高手是如何利用msdn(visual studio随机自带)帮助的(发言即有分,谢绝灌水)?
- 在web页中怎么设置页面的接受键?(在线等!)
- 请教:子类中如何将基类的public方法改成private方法
sorry, I am familiar with c#, but I do not know C