Linux命令发送Http请求

简介: Linux命令发送Http请求
yum update -y && yum install curl -y

curl 模拟HTTP请求

  • 默认get请求:
curl http://www.baidu.com
curl -i "http://www.baidu.com"  # 显示全部信息
curl -I "http://www.baidu.com"  # 只显示头部信息
curl -v "http://www.baidu.com"  # 显示get请求全过程解析
  • post请求:curl -X POST www.baidu.com
-X/--request [GET|POST|PUT|DELETE|…]  指定请求的方式
-H/--header                           指定请求header
-i/--include                          显示返回的header
-d/--data                             指定参数 
-v/--verbose                          输出更详细信息
-u/--user                             授权帐号和密码
-b/--cookie                           cookie 
curl -X GET "http://www.rest.com/api/users"    #GET请求 
curl -X POST "http://www.rest.com/api/users"   #POST请求 
curl -X PUT "http://www.rest.com/api/users"    #PUT请求 
curl -X DELETE "http://www.rest.com/api/users" #DELETE请求 
#  -d 带请求参数:
curl -X POST <url> -d <data>
curl -i -XPOST "http://127.0.0.1/create_user" -d '{"name":"xxx", "age":23}'
#  -H  head
curl -i -XPOST "http://127.0.0.1/create_user" -d '{"name":"xxx", "age":23}' -H "Content-Type: application/json"
curl -d "username=user1&password=123" "www.baidu.com/login"
{"name":"xxx", "age":23}
curl -i -XPOST "http://127.0.0.1/create_user" -d @test.json
  • Authentication如果网站采用了HTTP基本认证,可以使用--user username:password进行授权
curl -i --user suraer:secret "http://www.rest.com/api/foo"
  • -I只显示头部信息。
  • -i显示全部信息。
  • -v显示解析全过程。
  • -X只显示请求结果
  • -F 指定请求参数
  • -w将请求结果输入到文件而不是标准输出
  • -o 请求完成后使用自定义格式输出
  • -s 静默模式(不要输出任何东西)
  • -I 参数 静默访问:curl -I http://www.baidu.com

wget命令请求

  • get请求
wget  "http://www.baidu.com?version=1&client_version=1.1"
  • post请求
wget –post-data 'username=user1&password=123' http://www.baidu.com

curl和wget区别

curl模拟的访问请求一般直接在控制台显示,而wget则把结果保存为一个文件。如果结果内容比较少,需要直接看到结果可以考虑使用curl进行模拟请求,如果返回结果比较多,则可考虑wget进行模拟请求。

curl是一个综合传输工具,既可以用来上传文件,也可以用来下载文件,在日常使用过程中,它通常都是以下载工具的角色出现,常用来检验一个网址是否可以访问。与cURL命令相似的,还有wget命令,二者在功能上具有很多类似的地方,但cURL由于可自定义各种请求参数所以在模拟Web请求方面更优秀;wget对于于支持ftp和Recursive所以在下载文件方面更擅长。wget是下载网站的最佳工具,能够递归遍历目录和链接,可以下载整个网站。


相关文章
|
9天前
|
缓存 应用服务中间件 Apache
HTTP 范围Range请求
HTTP范围请求是一种强大的技术,允许客户端请求资源的部分内容,提高了传输效率和用户体验。通过正确配置服务器和实现范围请求,可以在视频流、断点续传下载等场景中发挥重要作用。希望本文提供的详细介绍和示例代码能帮助您更好地理解和应用这一技术。
53 19
|
1月前
|
JSON Java 数据格式
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
87 25
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
|
17天前
|
JSON JavaScript 前端开发
什么是HTTP POST请求?初学者指南与示范
HTTP POST请求是一种常用的HTTP方法,主要用于向服务器发送数据。通过合理设置请求头和请求主体,可以实现数据的可靠传输。无论是在客户端使用JavaScript,还是在服务器端使用Node.js,理解和掌握POST请求的工作原理和应用场景,对于Web开发至关重要。
167 18
|
17天前
|
JSON 数据格式
.net HTTP请求类封装
`HttpRequestHelper` 是一个用于简化 HTTP 请求的辅助类,支持发送 GET 和 POST 请求。它使用 `HttpClient` 发起请求,并通过 `Newtonsoft.Json` 处理 JSON 数据。示例展示了如何使用该类发送请求并处理响应。注意事项包括:简单的错误处理、需安装 `Newtonsoft.Json` 依赖,以及建议重用 `HttpClient` 实例以优化性能。
61 2
|
1月前
|
Web App开发 大数据 应用服务中间件
什么是 HTTP Range请求(范围请求)
HTTP Range 请求是一种非常有用的 HTTP 功能,允许客户端请求资源的特定部分,从而提高传输效率和用户体验。通过合理使用 Range 请求,可以实现断点续传、视频流播放和按需加载等功能。了解并掌握 HTTP Range 请求的工作原理和应用场景,对开发高效的网络应用至关重要。
102 15
|
1月前
|
数据采集 JSON 测试技术
Grequests,非常 Nice 的 Python 异步 HTTP 请求神器
在Python开发中,处理HTTP请求至关重要。`grequests`库基于`requests`,支持异步请求,通过`gevent`实现并发,提高性能。本文介绍了`grequests`的安装、基本与高级功能,如GET/POST请求、并发控制等,并探讨其在实际项目中的应用。
50 3
|
2月前
|
前端开发 UED 开发者
CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度
本文探讨了CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度;图标字体则以字体形式呈现图标,便于调整样式。文章分析了两者的优缺点及应用场景,并提供了应用技巧和注意事项,旨在帮助开发者提升页面性能,改善用户体验。
36 5
|
2月前
|
Web App开发 Linux 应用服务中间件
【DrissionPage】Linux上如何将https改为http
通过上述步骤,可以在Linux上将DrissionPage从HTTPS改为HTTP。关键在于修改DrissionPage配置、代码中的HTTPS设置、URL以及Web服务器配置,确保所有部分都正确使用HTTP协议。通过合理配置和测试,能够确保系统在HTTP环境下稳定运行。
49 1
|
2月前
|
JSON API 数据格式
Python中获取HTTP请求响应体的详解
本文介绍了如何使用Python的`requests`和`urllib`库发送HTTP请求并处理响应体。`requests`库简化了HTTP请求过程,适合快速开发;`urllib`库则更为底层,适用于性能要求较高的场景。文章详细演示了发送GET请求、处理JSON响应等常见操作。
58 3
|
2月前
|
安全 API 网络安全
使用OkHttp进行HTTPS请求的Kotlin实现
使用OkHttp进行HTTPS请求的Kotlin实现