我们平时对 telnet 用的最多的应该是 telnet 来快速测试服务端口是否可用,其实 telnet 还可以被用来发送 HTTP 请求,是的,没听错,发送 HTTP 请求!

1.首先启动一个 web server:

root@robert-Ubuntu:/media/sf_WorkSpace/HelloNG/src/testcode/djangoTest/robappdj# python manage.py runserver 0.0.0.0:8082
------In the manage.py, To test: this sentence will be output how many times------
---robert--BASE_DIR = /media/sf_WorkSpace/HelloNG/src/testcode/djangoTest/robappdj---
------In the manage.py, To test: this sentence will be output how many times------
---robert--BASE_DIR = /media/sf_WorkSpace/HelloNG/src/testcode/djangoTest/robappdj---
Performing system checks...DEBUG 2020-08-13 18:56:25,274 utils 18546 140029887874816 (0.001) SET SQL_AUTO_IS_NULL = 0; args=None
System check identified no issues (0 silenced).
DEBUG 2020-08-13 18:56:25,842 utils 18546 140029887874816 (0.000) SET SQL_AUTO_IS_NULL = 0; args=None
DEBUG 2020-08-13 18:56:25,849 utils 18546 140029887874816 (0.006) SHOW FULL TABLES; args=None
DEBUG 2020-08-13 18:56:25,855 utils 18546 140029887874816 (0.002) SELECT `django_migrations`.`app`, `django_migrations`.`name` FROM `django_migrations`; args=()
August 13, 2020 - 18:56:25
Django version 1.8.7, using settings 'robappdj.settings'
Starting development server at http://0.0.0.0:8082/
Quit the server with CONTROL-C.In the hellooooooo
---To get what the request has---------
type(request) = <class 'django.core.handlers.wsgi.WSGIRequest'>
{'LC_NUMERIC': 'zh_CN.UTF-8', 'RUN_MAIN': 'true', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.7.12', 'SCRIPT_NAME': u'', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'QUERY_STRING': '', 'SSH_CLIENT': '192.168.56.1 62540 22', 'REQUEST_METHOD': 'GET', 'LOGNAME': 'root', 'USER': 'root', 'HOME': '/root', 'LC_PAPER': 'zh_CN.UTF-8', 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin', 'wsgi.multithread': True, 'LANG': 'en_US.UTF-8', 'TERM': 'xterm', 'SHELL': '/bin/bash', 'TZ': 'Asia/Shanghai', 'SERVER_NAME': 'robert-Ubuntu', 'REMOTE_ADDR': '192.168.56.101', 'LC_MEASUREMENT': 'zh_CN.UTF-8', 'QT_QPA_PLATFORMTHEME': 'appmenu-qt5', 'wsgi.url_scheme': 'http', 'SERVER_PORT': '8082', 'CONTENT_LENGTH': '', 'XDG_RUNTIME_DIR': '/run/user/0', 'wsgi.file_wrapper': <class wsgiref.util.FileWrapper at 0x7f5b40fa8598>, 'LC_ADDRESS': 'zh_CN.UTF-8', 'SHLVL': '1', 'wsgi.input': <socket._fileobject object at 0x7f5b3f152750>, 'HTTP_HOST': '192.168.56.101:8082', 'XDG_DATA_DIRS': '/usr/local/share:/usr/share:/var/lib/snapd/desktop', 'wsgi.version': (1, 0), 'XDG_SESSION_ID': '3', '_': '/usr/bin/python', 'LC_IDENTIFICATION': 'zh_CN.UTF-8', 'SSH_CONNECTION': '192.168.56.1 62540 192.168.56.101 22', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'GATEWAY_INTERFACE': 'CGI/1.1', 'wsgi.run_once': False, 'SSH_TTY': '/dev/pts/8', 'OLDPWD': '/root', 'wsgi.multiprocess': False, 'LC_TELEPHONE': 'zh_CN.UTF-8', 'LC_MONETARY': 'zh_CN.UTF-8', 'PWD': '/media/sf_WorkSpace/HelloNG/src/testcode/djangoTest/robappdj', 'DJANGO_SETTINGS_MODULE': 'robappdj.settings', 'CONTENT_TYPE': 'text/plain', 'LC_NAME': 'zh_CN.UTF-8', 'MAIL': '/var/mail/root', 'LC_TIME': 'zh_CN.UTF-8', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:', 'REMOTE_HOST': '', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x7f5b443881e0>, 'PATH_INFO': u'/hello/'}
-------------------------------------
request = <WSGIRequest: GET '/hello/'>
In hello,request.META['CONTENT_TYPE'] = text/plain
In hello,request.META['REMOTE_ADDR'] = 192.168.56.101
request.path = /hello/
request.path_info = /hello/
request.get_full_path() = /hello/
request.build_absolute_uri() = http://192.168.56.101:8082/hello/
-------In hello--------------
request.user = AnonymousUser
type(request.user) = <class 'django.utils.functional.SimpleLazyObject'>
request.session = <django.contrib.sessions.backends.db.SessionStore object at 0x7f5b3e90c210>
type(request.session) = <class 'django.contrib.sessions.backends.db.SessionStore'>
request.COOKIES = {}
---------misc--------------
DEBUG 2020-08-13 18:56:46,916 utils 18546 140029877049088 (0.001) SET SQL_AUTO_IS_NULL = 0; args=None
DEBUG 2020-08-13 18:56:46,955 utils 18546 140029877049088 (0.036) INSERT INTO `TestModel_test` (`name`) VALUES (''); args=[u'']
In the post_save callback111: sender = <class 'TestModel.models.Test'>, kwargs = {'update_fields': None, 'instance': <Test: Test object>, 'signal': <django.db.models.signals.ModelSignal object at 0x7f5b414fd590>, 'created': True, 'raw': False, 'using': 'default'}
In the POST tmp = None
[13/Aug/2020 18:56:47] "GET /hello/ HTTP/1.0" 200 199^Croot@robert-Ubuntu:/media/sf_WorkSpace/HelloNG/src/testcode/djangoTest/robappdj#
  1. telnet 登录 上述服务端口,我只需输入:
    GET /hello/ HTTP/1.0
    Host: 192.168.56.101:8082
    然后加回车即可, 当然后端处理 /hello 请求的视图函数,是不能加 login_required 装饰器和认证鉴权的

    root@robert-Ubuntu:/tmp# telnet 192.168.56.101 8082Trying 192.168.56.101...Connected to 192.168.56.101.Escape character is '^]'.GET /hello/ HTTP/1.0Host: 192.168.56.101:8082HTTP/1.0 200 OKDate: Thu, 13 Aug 2020 10:56:47 GMTServer: WSGIServer/0.1 Python/2.7.12Vary: CookieX-Frame-Options: SAMEORIGINContent-Type: text/html; charset=utf-8<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body>Hello ===AnonymousUser === !<p>The path info of http request is /hello/</p></body></html>Connection closed by foreign host.root@robert-Ubuntu:/tmp# root@robert-Ubuntu:/tmp#
    

用 telnet 访问网站发送 HTTP 请求相关推荐

  1. 使用telnet访问网站

    1.使用telnet访问网站 [root@VM_0_6_centos ~]# telnet www.baidu.com 80 Trying 14.215.177.38- Connected to ww ...

  2. Python爬虫入门5:模拟浏览器访问网站

    ☞ ░ 前往老猿Python博客 https://blog.csdn.net/LaoYuanPython ░ 一.引言 在前面两节中分别介绍了使用Google浏览器和IE浏览器怎么获取网站访问的htt ...

  3. 用Telnet发送HTTP请求

    1.telnet google.com 80 2.Telnet窗口中按下"Ctrl+]":然后,输入"set localecho"命令,再连续按两次回车键 3. ...

  4. firefox伪造请求头信息,模拟手机访问网站

    大概有两年没有去过chinaz的论坛了,昨天上去逛了逛.正好看到一个朋友在问百度是如何判断是不是手机登录的.有几个热心朋友回答的是js,我把百度首页的js看了下,没有找到一丝的手持设备判断的信息,我也 ...

  5. 【Python学习】http网站发送请求

    方法一:requests 官方文档 https://pypi.org/project/requests/ Requests模块是一个用于网络请求的模块,主要用来模拟浏览器发请求.其实类似的模块有很多, ...

  6. python访问网站添加请求头_Python headers请求头如何实现快速添加

    1.为什么要设置headers?J1Q免费资源网 在请求网页爬取的时候,输出的text信息中会出现抱歉,无法访问等字眼,这就是禁止爬取,需要通过反爬机制去解决这个问题.J1Q免费资源网 headers ...

  7. 一个Https网站发送Http的 ajax请求的解决方法

    一个Https网站发送Http的 ajax请求的解决方法 参考文章: (1)一个Https网站发送Http的 ajax请求的解决方法 (2)https://www.cnblogs.com/yuming ...

  8. Google Chrome浏览器出现:您目前无法访问 XX.XX.XX.XX,因为此网站发送了 Google Chrome 无法处理的杂乱凭据。

    Google Chrome访问https页面显示ERR_CERT_INVALID,以往版本可以选择跳过,继续访问,但是新版本Chrome不允许继续,且提示: 您的连接不是私密连接 攻击者可能会试图从 ...

  9. win10能够正常访问网站、ip正常ping通,但是ping域名显示”请求找不到主机......“

    win10能够正常访问网站.ip正常ping通,但是ping域名显示"请求找不到主机-" 1.问题描述 在使用wireshark分析数据包的时候,想要通过ping命令查看域名的ip ...

最新文章

  1. 独家 | 如何全面解析数据并创造数据故事
  2. 单语言表征如何迁移到多语言去?
  3. python如何调用图片-python调用图片
  4. 数据库如何闪回到某个时间点?
  5. 今日收到的智商税:远红外
  6. flutter天气_牛笔!自己用Flutter撸一个天气APP
  7. mysql查看系统可用字符集_MySQL查看所有可用的字符集
  8. java poi 操作ppt
  9. 【开发者portal在线开发插件系列四】数组 及 可变长度数组
  10. 自定义日志_Dubbo自定义日志拦截器源码分析
  11. angular获取图片高宽_Angular 读书笔记
  12. RHEL5 基于虚拟用户验证的VSFTP服务器
  13. Android.mk中call all-subdir-makefiles和call all-makefiles-under,$(LOCAL_PATH)的区别
  14. 欧姆龙CP1E PLC
  15. 软工网络15个人阅读作业1-评分发布
  16. Chrome OS 与 Android 的生死爱欲
  17. vue获得腾讯坐标拾取器
  18. jiny的博客开通啦~~
  19. 全球与中国电机市场深度研究分析报告
  20. Visual Reasoning Strategies for Effect Size Judgments and Decisions

热门文章

  1. WordPress 网站 备份和恢复方法
  2. 如何接入 K8s 持久化存储?K8s CSI 实现机制浅析
  3. EMVTag系列12《卡片内部风险管理数据》
  4. 5-FAM Maleimide,787632-00-2,5-FAM马来酰亚胺是荧光素的巯基反应性衍生物
  5. 中睿盛通平台系统商城技术开发
  6. STM32 USB相关知识扫盲
  7. Java 小孩报数问题
  8. 淘宝营销系统 - 达摩盘快捷操作流程
  9. No module named 'skimage'解决办法
  10. pc端钉钉认证二维码扫码登录