文档章节

telnet建立http连接获取网页HTML内容

simpower
 simpower
发布于 2014/12/13 17:51
字数 394
阅读 1468
收藏 14

利用telnet可以与服务器建立http连接,获取网页,实现浏览器的功能。 
它对于需要对http header进行观察和测试到时候非常方便。因为浏览器看不到http header。 
步骤如下: 
telnet www.csua.berkeley.edu 80 
输入GET /officers.html HTTP/1.0 并2次回车。 
这时就应该可以看到http response了,包括了header和body。 
因为window自己带到telnet在输入内容的时候看不到输入的内容,可以下载putty并选用raw tcp connection的方式进行连接。 

需要注意到事情如下: 
1. GET 和 HTTP必须大写,因为很多服务器要求大写,小写的话在一些服务器会造成连接失败。 

2. HTTP1.1的话,还需要加上一行写明host, 这是http1.1的要求。 
GET /officers.html HTTP/1.1 
host: www.csua.berkeley.ed 

此处加host的另一个原因是因为很多网站是采用虚拟主机的形式,host用来区别于同一主机的其他虚拟主机所必须的。 

3. 2次回车表示把request发出去,因为http request是以最后一行为空行来表示结束的。 

4. 一些比较聪明的网站会屏蔽掉不是浏览器的http request, 这时我们就需要假扮浏览器,需要set的User-agent。 
GET /officers.html HTTP/1.1 
host: www.csua.berkeley.ed 
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5 

5. 抓取http连接的package可以使用Wireshark,获取浏览器的http request和response,再用telnet模拟浏览器进行连接。 

本文转载自:http://dawnsky.blog.163.com/blog/static/445416201292311340214/

simpower
粉丝 28
博文 669
码字总数 50544
作品 0
海淀
程序员
私信 提问
nginx 400状态码排查

最近,发现主站nginx的log中有很多400的错误,每天有几千万条,故决定对产生400错误的原因进行排查。分析nginx log,发现这种无效的400请求,总是在一个正常访问之后产生,一般出现一个或者几...

leejia1989
2014/07/04
0
0
telnet建立http连接获取网页HTML内容

GET 和 HTTP必须大写,因为很多服务器要求大写,小写的话在一些服务器会造成连接失败。 2. HTTP1.1的话,还需要加上一行写明host, 这是http1.1的要求。 GET /officers.html HTTP/1.1 host: ...

疯狂的艺术家
2011/09/01
413
0
从 nginx 访问日志中的400错误说起

在研究 OSCHINA 也在遭受大量的无效请求 这个问题时找到的一篇文章,转载于此: 最近在整nginx+php+mysql的网站架设,发现nginx的access.log文件(也就是访问日志)中有大量的400错误,知道HTT...

红薯
2011/12/20
10K
9
tomcat配置虚拟主机

一、网站系统的组成 只要在一台计算机上安装了WEB服务器软件,从功能上讲,这台计算机就可以称为WEB服务器。一个网站的规模可大可小,功能可多可少,最简单的网站只需要一台Web服务器即可对外...

HelloRookie
2016/10/10
59
0
http 协议 相关知识 --请求

一:什么是http协议: http协议: 对浏览器客户端 和 服务器端 之间数据传输的格式规范 二:查看http协议的工具   1)使用火狐的firebug插件(右键->firebug->网络)   2)使用谷歌的“审...

viakiba
2016/09/19
7
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
24分钟前
4
0
Spring Boot 如何部署到 Linux 中的服务

打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档。 文档链接如下: https://docs.ossez.com/spring-boot-docs/docs/r...

honeymoose
26分钟前
4
0
Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
6
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
4
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部