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是下载网站的最佳工具,能够递归遍历目录和链接,可以下载整个网站。


相关文章
|
1月前
|
Rust 前端开发 API
Tauri 开发实践 — Tauri HTTP 请求开发
本文介绍了如何在 Tauri 中发起 HTTP 请求。首先通过安装 Tauri 生态中的工具包并配置 `tauri.conf.json` 文件来允许特定域名的 HTTP 通信。接着封装了一个简单的 HTTP 客户端类,并在页面中使用该客户端实现 GET 和 POST 请求。最后提供了完整的源码地址以供参考。此功能使得桌面应用能够与远程服务器进行交互,增强了应用的实用性。
86 1
Tauri 开发实践 — Tauri HTTP 请求开发
|
16天前
|
缓存 前端开发 API
|
21天前
|
数据采集 前端开发 算法
Python Requests 的高级使用技巧:应对复杂 HTTP 请求场景
本文介绍了如何使用 Python 的 `requests` 库应对复杂的 HTTP 请求场景,包括 Spider Trap(蜘蛛陷阱)、SESSION 访问限制和请求频率限制。通过代理、CSS 类链接数控制、多账号切换和限流算法等技术手段,提高爬虫的稳定性和效率,增强在反爬虫环境中的生存能力。文中提供了详细的代码示例,帮助读者掌握这些高级用法。
Python Requests 的高级使用技巧:应对复杂 HTTP 请求场景
|
4天前
|
JSON API 数据格式
Python中获取HTTP请求响应体的详解
本文介绍了如何使用Python的`requests`和`urllib`库发送HTTP请求并处理响应体。`requests`库简化了HTTP请求过程,适合快速开发;`urllib`库则更为底层,适用于性能要求较高的场景。文章详细演示了发送GET请求、处理JSON响应等常见操作。
|
3天前
|
安全 API 网络安全
使用OkHttp进行HTTPS请求的Kotlin实现
使用OkHttp进行HTTPS请求的Kotlin实现
|
10天前
|
前端开发 JavaScript Java
如何捕获和处理HTTP GET请求的异常
如何捕获和处理HTTP GET请求的异常
|
12天前
|
开发者
HTTP 协议请求方法的发展历程
【10月更文挑战第21天】
|
12天前
|
安全
HTTP 协议的请求方法
【10月更文挑战第21天】
|
12天前
|
缓存 安全 前端开发
HTTP 协议的请求方法在实际应用中有哪些注意事项?
【10月更文挑战第29天】HTTP协议的请求方法在实际应用中需要根据具体的业务场景和需求,合理选择和使用,并注意各种方法的特点和限制,以确保网络通信的安全、高效和数据的一致性。
|
16天前
|
安全 API 数据安全/隐私保护
常见的HTTP请求方法
【10月更文挑战第25天】这些HTTP请求方法共同构成了客户端与服务器之间交互的基础,使得客户端能够根据不同的需求对服务器资源进行各种操作。在实际应用中,开发者需要根据具体的业务场景和资源的性质选择合适的请求方法来实现客户端与服务器之间的有效通信。