WINDOWS C HTTP
来源:互联网 发布:阿里云应用商店在哪 编辑:程序博客网 时间:2024/05/22 05:13
一个简单的HTTP协议客户端源代码
#include<stdio.h>
#include<winsock2.h>
#include<windows.h>
typedef struct{
char line[256];
char head[256];
char body[256];
}message;
void main(){
int num;
SOCKET sfd;
WSADATA wsa;
struct sockaddr_in serv;
message req;
char sndBuf[1024], rcvBuf[1024];
WSAStartup(MAKEWORD(2,1),&wsa);
if((sfd=socket(AF_INET,SOCK_STREAM,0))<0){
perror("socket error!");
exit(1);
}
memset(&serv,0,sizeof(serv));
serv.sin_family=AF_INET;
serv.sin_port=htons(80);
//BING 70.37.92.127
//BAIDU 115.239.210.26
//baidu api 180.149.132.118
//google 74.125.31.99
serv.sin_addr.S_un.S_addr=inet_addr("74.125.31.99");
if((connect(sfd,(struct sockaddr *)&serv,sizeof(serv)))<0){
perror("connet error!");
exit(1);
}
memset(sndBuf,0,1024);
memset(rcvBuf,0,1024);
strcpy(req.line,"GET / HTTP/1.0\r\n");
strcat(sndBuf,req.line);
strcpy(req.head,"\r\n");
strcat(sndBuf,req.head);
puts(sndBuf);
if((num=send(sfd,sndBuf,1024,0))<0){
perror("send error!");
exit(1);
}
puts("send success!\n");
do{
if((num=recv(sfd,rcvBuf,2048,0))<0){
perror("recv error!");
exit(1);
}
else if(num>0){
printf("%s",rcvBuf);
memset(rcvBuf,0,1024);
}
}while(num>0);
puts("\nread success!\n");
closesocket(sfd);
WSACleanup();
}
- WINDOWS C HTTP
- Windows C下利用wininet发送http请求
- windows平台下 c/c++进行http通信的教训
- Connecting through Http or Https for CE/Windows Mobile c++/vc++方法一
- Windows mobile http编程
- Windows mobile http编程
- [Winhttp]_[C/C++]_[使用win32 SDK的Windows HTTP Services(WinHTTP)通过代理下载网页]
- C/C++windows多线程
- c实现HTTP 隧道
- HTTP Post Using C
- C HTTP URL 解码
- HTTP Post Using C
- C#HTTP协议
- C发送http请求
- c/c++ http请求
- C 发送http request
- C发送http请求
- [C#]Http异步请求
- Ext自学系列之 默认选中树节点
- 简单的ListView
- PAT 1060. Are They Equal
- 一个汉字占几个字符
- html td 的横向与纵向合并
- WINDOWS C HTTP
- Django初步入门
- Linux 下利用rtcwake唤醒设备
- 获取当前登录的QQ号码
- 博弈类题目集
- 简说期望类问题的解法
- 数据库范式详解
- C++中友元(友元函数和友元类)的用法和功能
- 强制数据类型转换问题