本文附上http与https客户端C语言源代码以及编译命令,加密使用的是openssl,使用的是tls1.2版本加密。
首先,安装编译环境apt-get install gcc libssl-dev
https版本客户端编译命令为gcc -o client client.c#include
#include
#include
#include
#define host "www.baidu.com"
#define port 80
char sendbuff[1024*50];
char recvbuff[1024*50];
int main () {
int fd = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
struct sockaddr_in sin;
sin.sin_family = AF_INET;
sin.sin_port = htons(port);
/* 如果host是IP,直接使用下面方式
sin.sin_addr.s_addr = inet_addr(host);
*/
struct hostent *ip = gethostbyname(host); // 域名dns解析
if(ip == NULL) {
printf("gethostbyname error");
return 0;
}
sin.sin_addr = *(struct in_addr*)ip->h_addr_list[0];
if(conn