返回信息流#include <stdio.h>
#include "winsock2.h"
#pragma comment(lib, "ws2_32.lib")
int main()
{
SOCKET sSocket = INVALID_SOCKET;
SOCKADDR_IN stSvrAddrIn = {0}; /* 服务器端地址 */
//char sndBuf[1024] = {0};
char rcvBuf[2048] = {0};
char *pRcv = rcvBuf;
int num = 0;
int nRet = SOCKET_ERROR;
const char* host_name="www.qq.com";
LPHOSTENT lphostent;
WSADATA wsaData;
/* HTTP 消息构造开始,这是程序的关键之处 */
//sprintf(sndBuf, "GET / HTTP/1.1\n");
//strcat(sndBuf, "Host:http://www.qq.com\n\r\n");
/* HTTP 消息构造结束 */
char* sndBuf="POST /test/test.asp HTTP/1.0\r\n" //具体哪个页
"From: local\r\n"
"User-Agent: post_test/1.0\r\n"
"Content-Type: application/x-www-form-urlencoded\r\n"
"Content-Length: 20\r\n\r\n"
"type=12345&name=aaaa"; // 发送的参数对
/* socket DLL初始化 */
WSAStartup(MAKEWORD(2, 0), &wsaData);
lphostent=gethostbyname(host_name);
sSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
stSvrAddrIn.sin_family = AF_INET;
// Use def. now, need to handle general case
stSvrAddrIn.sin_port = htons(80);
stSvrAddrIn.sin_addr = *((LPIN_ADDR)*lphostent->h_addr_list);
/* 连接 */
nRet = connect(sSocket, (SOCKADDR*)&stSvrAddrIn, sizeof(SOCKADDR));
if (SOCKET_ERROR == nRet)
{
printf("connect fail!\n");
system("pause");
return -1;
}
/* 发送HTTP请求消息 */
send(sSocket, (char*)sndBuf, sizeof(sndBuf), 0);
/* 接收HTTP响应消息 */
num = recv(sSocket, pRcv, 2048, 0);
/* 打印响应消息 */
printf("%s\n", rcvBuf);
system("pause");
return 0;
}
这是一条镜像帖。来源:北邮人论坛 / www-technology / #13187同步于 2011/5/6
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
请问,错在哪里?
Ihaveadream
2011/5/6镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复