linux c 實現http的get 函式

2021-06-12 11:23:05 字數 1762 閱讀 5732

使用linux c++實現了http的get請求

傳入引數:傳入引數是要請求的url

傳出引數:請求到的網頁

為了方便說明,這裡假定url = "";

//將網域名稱轉為ip位址

struct hostent *host = gethostbyname(search.360buy.com);

char* ipstr = (char *)inet_ntoa(*(struct in_addr *)(host->h_addr));

if (inet_pton(af_inet, ipstr, &servaddr.sin_addr) <= 0 )

;

// 非阻塞connect

int flags=fcntl(sockfd,f_getfl,0);

fcntl(sockfd,f_setfl,flags|o_nonblock);

ret =  

connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr));  

if (-1 == ret)

fd_zero(&mask);

fd_set(sockfd,&mask);

tv.tv_sec = 1;

tv.tv_usec = 0;

switch(select(sockfd+1,null,&mask,null,&tv))

}

}

}else if(0==ret)

memset(str, 0, 4096);

// http協議請求字串,每一行的後面一定要加\n隔開  

這樣就完成了乙個http請求。

linux c 實現http請求

char http msg 4096 strcpy http msg,http 目標主機的ip和要傳送的請求資訊 if http httpget http msg,http return return 0 下面是標頭檔案,和cpp檔案放到同乙個資料夾 define project httpreq h...

Linux C 之搭建HTTP服務(二)

搭建伺服器之處理目錄 上節,linux c搭建http伺服器 一 搭建http中我們只處理了普通檔案,這節,我們嘗試處理一下資料夾。要處理資料夾要明白資料夾以什麼形式回饋給客戶端。而且要清楚我要開啟的資料夾不一樣,應該反饋給客戶端不一樣的 我們接上節的處理。生成html 當開啟資料夾時把資料夾中的所...

Linux C 檔案複製的實現

參考網上的 整理的比較完整的,關於使用read 和write 函式,實現檔案拷貝的 執行結果 開啟原始檔 if from fd open argv 1 o rdonly 1 建立目標檔案 if to fd open argv 2 o wronly o creat,s irusr s iwusr 1 ...