linux从文本界面怎么访问网站?

linux从文本界面怎么访问网站?,第1张

可以使用curl 命令实现。

1、Curl是Linux下一个很强大的http命令行工具,其功能十分强大。

2、下面的例子只作为示范,与真实网站无关:读取网页

$ curl http://www.baidu.com。

网站

因特网起源于美国国防部高级研究计划管理局建立的阿帕网。

已知url ,host, port

int s, size

struct sockaddr_in sin

struct hostent* phe

char cmd[256]

char msg_hdr[1000]

char* p

//准备http中GET 方法的请求

sprintf(cmd,"GET %s\r\nHTTP/1.1\r\nHost:%s", url, host)

//创建socket

if((s=socket(PF_INET,SOCK_STREAM,0))<0)

return -1

//取得远程主机的IP地址,失败函数返回-1

if((phe = gethostbyname(host)) == NULL)

return -1

memset(&sin,0,sizeof(sin))

memcpy(&sin.sin_addr,phe->h_addr,sizeof(struct in_addr))

sin.sin_family=AF_INET

sin.sin_port=htons(pms->port)

//跟远程机器建立连接,失败函数返回-1

if(connect(s,(struct sockaddr*)&sin,sizeof(sin))==-1)

return -1

//发送GET请求

if(write(s,cmd,strlen(cmd))<0)

return 0

//从链接描述符(连接管道)中读取传送过来的数据

if(read(s, msg_hdr, 300)<0)

error

close(s)

//读到该文件的大小

if((p=strstr(msg_hdr,"Content-Length"))||(p=strstr(msg_hdr,"Content-length:")))

p+=16

else

error

//返回大小

size = atoi(p)

sprintf(cmd,"GET %s HTTP/1.1\r\nHost: %s\r\nAccept: */*\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nConnection: close\r\nRange: bytes0-%d\r\n\r\n", url, host, size)

//创建套接口

if((s=socket(AF_INET,SOCK_STREAM,0))<0)

return 0

//取得远程主机的IP地址,失败返回0

if((phe = gethostbyname(host)) == NULL)

return 0

memset(&sin,0,sizeof(sin))

memcpy(&sin.sin_addr,phe->h_addr,sizeof(struct in_addr))

sin.sin_family=AF_INET

sin.sin_port=htons(port)

//建立连接

if(connect(s,(struct sockaddr*)&sin,sizeof(sin))==-1)

return 0

//发送读取请求

if(write(s,cmd,strlen(cmd))<0)

error

read(s, buf, BUFSIZE)..............


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7568284.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存