(原创)socket学习实验(一)——利用C 语言socket抓取一个网页内容

本文介绍了如何使用C语言通过socket编程抓取一个网页的内容。内容涵盖基础的socket操作,包括连接服务器、发送HTTP请求以及接收响应数据。此外,还提及了与Linux系统相关的知识点,如进程管理、同步方法和常见服务端口。
摘要由CSDN通过智能技术生成
(纯手打,有问题可以交流)
最近在学习socket,然后做了一些小的实验,发现socket功能还真是强大,对于socket流使套接字在某种程度上其实是与终端的telnet相似的,IP地址对应socket里的sock地址,端口对应sock里的端口,然后就看自己在终端里发送命令,就如同利用socket的send和recv方法了,
我在终端上测试一个telnet,获取一个网页的内容:
~:telnet www.baidu.com 80                    //首先进入到telnet
输入:GET / HTTP/1.1
输入:host bolg.chinaunix.net

回车后再按一次回车,就能获取网页代码:数量太大,仅仅粘贴一部分:

这样就通过telnet抓取到一个网页,而利用socket也是如此,只是发送消息时将消息格式给变一下,就能实现这个功能:而我是将抓取的网页内容写到一个临时的html文件里,这样就可以将抓取的网页文件在浏览器中打开了,代码贴出:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <errno.h>
#include <fcntl.h>
#define PORT 80
//char *cmd = "GET / HTTP/1.1 \nhost:www.xust.edu.cn";


int main(int arg,char **argc)
{
    printf("11111111\n");
    int sockfd;
    int fd;
    struct sockaddr_in servaddr;
    char buf[1024] ;
    char tmp1[100];
    char cmd[1024];
    //char *cmd="GET /uid/30510400.html HTTP/1.1\r\nhost:blog.chinaunix.net\r\n\r\n";
    struct
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值