使用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 ...