最近项目中要实现一个从嵌入式设备中通过http请求向远程服务器传输数据的功能。所以写了一个简单的测试程序,客户端用c语言实现http请求,服务器写了一个简单的php页面打印客户端发来的数据。
服务器端php代码:
<?php
$raw_post = file_get_contents("php://input");
echo $raw_post;
?>
客户端代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<arpa/inet.h>
#define IP_ADDR "192.168.115.129"
#define ARCHIVE "/pfs/test.php"
#define PORT 80
int main(int argc, char *argv[]){
int sockfd;
int len;
struct sockaddr_in address;
int result;
char data[1024];
memset(data, 'a', 1024);
char httpstring[2048];
sprintf(httpstring,"POST /%s HTTP/1.1\r\n"
"Host: %s\r\n"
"Content-Length: %d\r\n"
"Connection:Close\r\n\r\n"