在没有curl和wget情况下发送HTTP请求
Bash 的 /dev/tcp
功能为用户提供了一个直接的方式,通过 TCP 套接字发送 HTTP 请求,这一功能可以在没有额外工具的情况下执行简单的网络操作。
发送HTTP GET请求
#!/bin/bash
# 打开一个 TCP 连接到 baidu.com 的 80 端口,并将其分配给文件描述符 3
exec 3<>/dev/tcp/baidu.com/80
# 向文件描述符 3 发送 HTTP 请求
echo -ne "GET / HTTP/1.1\r\nHost: baidu.com\r\nConnection: close\r\n\r\n" >&3
# 从文件描述符 3 读取响应并输出到标准输出
cat <&3
# 关闭文件描述符 3
exec 3<&-
脚本模板
#!/bin/bash exec 3<>/dev/tcp/baidu.com/80
lines=(
'GET / HTTP/1.1'
'Host: baidu.com'
'Connection: close'
''
)
printf '%s\r\n' "${lines[@]}" >&3
while read -r data <&3; do
echo "got server data: $data"
done
exec 3>&-
原文:如何在 Bash 中没有 curl 或 wget 情况下发出 HTTP 请求?
在没有curl和wget情况下发送HTTP请求的更多相关文章
- .Net Core下发送WebRequest请求的两种方式
1.使用RestSharp.NetCore 2.使用WebApi请求方式
- 在Linux命令行下发送html格式的邮件
在Linux利用formail+sendmail来发送带图片的邮件 formail接收html格式的文件作为邮件的内容,这样就可以解决发送带图片邮件的问题了,因为html中可以插入图片,只要给出的im ...
- python 学习笔记之手把手讲解如何使用原生的 urllib 发送网络请求
urllib.urlopen(url[,data[,proxies]]) : https://docs.python.org/2/library/urllib.html python 中默认自带的网络 ...
- 怎么用PHP发送HTTP请求(POST请求、GET请求)?
file_get_contents版本: 01 /** 02 * 发送post请求 03 * @param string $url 请求地址 04 * @param array $post_data ...
- Linux命令发送Http的get或post请求(curl和wget两种方法)
Http请求指的是客户端向服务器的请求消息,Http请求主要分为get或post两种,在Linux系统下可以用curl和wget命令来模拟Http的请求.下面就来介绍一下Linux系统如何模拟Http ...
- 发现linux主机再用代理上网的情况下不能用wget从外网下载资源
公司禁网(也不是完全禁,能连接外网数据库,不能下载东西,不能打开网页,但是却能打开谷歌的收索页面,只是不能点进网页) 发现linux主机再用代理上网的情况下不能用wget从外网下载资源,但是却可以从内 ...
- 我大概知道他在说什么了,是对内存单元的竞争访问吧。Python有GIL,在执行伪码时是原子的。但是伪码之间不保证原子性。 UDP丢包,你是不是做了盲发?没有拥塞控制的情况下,确实会出现丢包严重的情况。你先看看发送速率,还有是否带有拥塞控制。
我大概知道他在说什么了,是对内存单元的竞争访问吧.Python有GIL,在执行伪码时是原子的.但是伪码之间不保证原子性. UDP丢包,你是不是做了盲发?没有拥塞控制的情况下,确实会出现丢包严重的情 ...
- curl 与wget的区别
CURL与wget的区别 当想要直接通过linux 命令行下载文件,马上就能想到两个工具:wget 和 CURL.它们有很多一样的特征,可以很轻易的完成一些相同的任务,虽然它们有一些相似的特征,但它们 ...
- mysql-unsha1:在未知密码情况下,登录任意MYSQL数据库
摘要 这个POC用于在不知道明文密码的情况下对启用了密码安全认证插件(默认开启插件:mysql_native_password)的MYSQL数据库进行登录. 前提条件为: 1.为了获取到已知用户的ha ...
- 每天一个linux命令13之curl发送http请求
一.get请求 curl "http://www.baidu.com" 如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地 curl -i "http:// ...
随机推荐
- 【记录】Python3|Selenium4 极速上手入门(Windows)
环境:Windows 版本:python3,selenium 4.11.2 写这个是方便自己重装电脑时重新装 Selenium,懒得每次都重新找链接. 文章目录 1 装 Chrome Edge 其他浏 ...
- Vue之“表单修饰符”
1.lazy:失去焦点时处理 案例1 2.number:限制只能输入数字 案例1 3.trim:去掉前后空格 案例1
- AD 侦查-SMB_2
本文通过 Google 翻译 AD Recon – NetBIOS (137/138/139) and SMB (445) Part-2 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校 ...
- Django实例(3)-用户连数据库登入系统
App01--->urls.py from django.contrib import adminfrom django.conf.urls import urlfrom app01 impor ...
- SQL 强化练习 (五)
果然日常练练这些 sql 是非常有必要的, 这几日的报表开发, 用一款过程软件 fineReport, 相对于我之前用 Tableau 来做报表, 这个帆软, 确实更加适合中国人哦, 而Tableau ...
- 思科安全大模型SOC作业应用分析
思科与Meta联合推出的 Foundation-sec-8B 大模型及 AI Defenders工具包,标志着AI技术在网络安全领域的深度融合与创新突破.两者的协同不仅重构了传统安全运营模式,更开创了 ...
- 在CentOS 7虚拟机上正确安装Redis
在CentOS 7虚拟机上正确安装Redis,可以按照以下步骤进行操作: 更新系统软件包:sudo yum update 安装Redis依赖库:sudo yum install epel-releas ...
- Stream流中map与flatMap区别|转
map和flatMap都是对流中的每一个元素,执行入参中的函数式方法,只是在函数式方法的返回值上有区别: map中函数式方法返回值为对象,也就是原始流中有n个元素,处理之后的流中元素个数也是n.即 ...
- buck参数工具分享
工具链接:https://cnblogs-img.oss-cn-hangzhou.aliyuncs.com/docs/buck.xls
- 「Note」数据结构方向 - 数据结构进阶
1. 平衡树(FHQ-Treap) 1.1. 介绍 功能强大的平衡树,以至于我根本没学 Treap 以及 Splay(LCT 里的另谈),缺点就大概是常数大. FHQ-Treap 核心操作在于分裂与合 ...