|
发表于 2022-9-15 16:06:05
|
显示全部楼层
#include <stdio.h>
/*
char *requestHead = "GET /area-to-weather?area=广州 HTTP/1.1\r\n"
"Host: ali-weather.showapi.com\r\n"
"Authorization: APPCODE d487d937315848af80710a06f4592fee\r\n\r\n";
*/
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/ip.h> /* superset of previous */
#include <sys/types.h> /* See NOTES */
#include <sys/socket.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
int main()
{
//创建TCP 通信socket
int tcp_socket = socket(AF_INET, SOCK_STREAM, 0);
//2.连接服务器 (重点)
struct sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(80) ; //所有HTTP服务器的端口都是 80
addr.sin_addr.s_addr = inet_addr("118.190.134.140"); //青云客服务器
int ret=connect(tcp_socket,(struct sockaddr *)&addr,sizeof(addr));
if(ret < 0)
{
perror("连接服务器失败\n");
}else
{
printf("连接服务器成功\n");
}
//3.往服务器中发送请求协议
char *requestHead = "GET /area-to-weather?area=%E5%B9%BF%E5%B7%9E HTTP/1.1\r\n"
"Host:ali-weather.showapi.com\r\n"
"Authorization:APPCODE 1c53bf0f05b84d8785ecf88e02ae4093\r\n\r\n";
//APPCODE 1c53bf0f05b84d8785ecf88e02ae4093
#if 0
char *requestHead = "GET /area-to-weather?area=深圳 HTTP/1.1\r\n"
"Host:ali-weather.showapi.com\r\n"
"Content-Type:text/html; charset=utf-8\r\n"
"Authorization:APPCODE 1c53bf0f05b84d8785ecf88e02ae4093\r\n\r\n";
#endif
//"Content-Type":"text/html; charset=utf-8"
write(tcp_socket,requestHead,strlen(requestHead));
while (1)
{
//4.读取服务器的应答数据
char data[1024]={0};
read(tcp_socket,data,1024);
printf("服务器应答:%s\n",data);
}
} |
|