c/c++语言开发共享如何使用C套接字编程下载文件

我如何制作像互联网下载管理器的程序从互联网下载给定链接的文件。 可以使用套接字编程C从Internet下载文件。

我们将不胜感激。 谢谢。

    进一步阅读:

     #include #include #include #include // www.axmag.com/download/pdfurl-guide.pdf int main(int argc , char *argv[]) { int socket_desc; char *message; char server_reply[10000]; char *filename = "file.pdf"; int total_len = 0; int file_len = 99352; int len; FILE *file = NULL; struct sockaddr_in server; //Create socket socket_desc = socket(AF_INET , SOCK_STREAM , 0); if (socket_desc == -1) { printf("Could not create socket"); } server.sin_addr.s_addr = inet_addr("198.11.181.184"); server.sin_family = AF_INET; server.sin_port = htons( 80 ); //Connect to remote server if (connect(socket_desc , (struct sockaddr *)&server , sizeof(server)) < 0) { puts("connect error"); return 1; } puts("Connectedn"); //Send request message = "GET /download/pdfurl-guide.pdf HTTP/1.1rnHost: www.axmag.comrnrn Connection: keep-alivernrn Keep-Alive: 300rn"; if( send(socket_desc , message , strlen(message) , 0) < 0) { puts("Send failed"); return 1; } puts("Data Sendn"); remove(filename); file = fopen(filename, "ab"); if(file == NULL){ printf("File could not opened"); } while(1) { int received_len = recv(socket_desc, server_reply , sizeof server_reply , 0); if( received_len < 0 ){ puts("recv failed"); break; } total_len += received_len; //puts(server_reply); fwrite(server_reply , received_len , 1, file); printf("nReceived byte size = %dnTotal lenght = %d", received_len, total_len); if( total_len >= file_len ){ break; } } puts("Reply receivedn"); fclose(file); return 0; } 

      以上就是c/c++开发分享如何使用C套接字编程下载文件相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/562667.html

      (0)
      上一篇 2021年2月5日
      下一篇 2021年2月5日

      精彩推荐