首页 > 其他分享 >Curl使用

Curl使用

时间:2023-06-21 18:24:40浏览次数:33  
标签:文件 upload file 使用 path Curl password folder

 

Curl 可以模拟用户提交请求

模拟登录

username='hhh'
password='hhh'
#如果password进行过加密,含有+的情况下需要转义
password=$(echo -n "$password" | sed 's/+/%2B/g')
response=$(curl -X POST -d "username=$username&password=$password" <login_endpoint_url>)
session_cookie=$(echo "$response" | awk -F'[\r\n]' '/Set-Cookie:/{print $1}'| awk -F 'Set-Cookie:' '{print $2}')

拿到session_cookie就可以调用接口,例如调用接口模拟表单上传文件

curl -b "$session_cookie" -F "file=@/path/file" -F "uploadPath=..." <endpoint_url>

上传多个文件可以通过循环调用接口或模拟表单相同name提交文件数组

#!/bin/bash

# 设置目标服务器的上传接口 URL
upload_url="http://example.com/upload"

# 设置文件夹路径
folder_path="/path/to/folder"

# 遍历文件夹中的文件
for file in "$folder_path"/*; do
  # 检查文件是否为普通文件
  if [[ -f "$file" ]]; then
    # 使用 cURL 上传文件
    curl -X POST -F "file=@$file" "$upload_url"
  fi
done
#!/bin/bash

# 设置目标服务器的上传接口 URL
upload_url="http://example.com/upload"

# 设置文件夹路径
folder_path="/path/to/folder"

# 创建临时的 multipart/form-data 请求体文件
request_file=$(mktemp)

# 遍历文件夹中的文件
for file in "$folder_path"/*; do
  # 检查文件是否为普通文件
  if [[ -f "$file" ]]; then
    # 添加文件上传字段到请求体文件
    echo "-F \"files=@$file\"" >> "$request_file"
  fi
done

# 使用 curl 发送带有文件数组的请求
curl -X POST -H "Content-Type: multipart/form-data" --data-binary "@$request_file" "$upload_url"

# 删除临时请求体文件
rm "$request_file"

 

标签:文件,upload,file,使用,path,Curl,password,folder
From: https://www.cnblogs.com/feet/p/17496870.html

相关文章

  • 公众号使用gpt具体步骤!
    先分享一下自己的搭的免费的chatGPT网站https://www.hangyejingling.cn/1、搜索公众号【我的Effy】,如图所示:2、直接提问3、如公众号不满足要求。请访问免费网站https://www.hangyejingling.cn/,体验更多功能......
  • 公众号使用gpt具体步骤
    ####先分享一下自己的搭的免费的chatGPT网站<ahref="https://www.hangyejingling.cn/"style="color:red;">https://www.hangyejingling.cn/</a>##1、搜索公众号【我的Effy】,如图所示: ##2、直接提问 3、若问题答案较长可稍等一会按1。如不满足要求请访问免费网......
  • [C#] 使用代码打开网络适配器界面
    在win7以上系统中,进入网络适配器至少需要鼠标点击三下,对于网络设备调试非常不友好,需求在自己的diytools中添加一键打开功能System.Diagnostics.Process.Start("cmd.exe","/Ccontrol/nameMicrosoft.NetworkandSharingCenter");///C关闭窗体/K不关闭 可能需要......
  • WPF编译时“所使用的 PresentationFramework 6.0.2 高于所引用的标识为 6.0.0 程序集
    一个用.NET6开发的WPF应用,前面编译执行都正常。同事要出差,把代码拷贝到开发本上编译时,编译报错。编译报错的内容主要如标题所示:所使用的PresentationFramework6.0.2高于所引用的标识为PresentationFramework6.0.0程序集PresentationFramework上网搜索了一下,搜到了林......
  • 使用py脚本造测试数据
    代码sql="""insertinto'user'('id','username''password','nick_name','user_photo','user_sex','account_balance')values"""forindexinrange(0......
  • 微信小程序 使用输入法的回车搜索
    有这样一个需求 搜索框没有确定键需要用输入法的回车键来进行搜索触发如图这时候只需要在input中使用bindconfirm事件就可以了 这样就可以拿到了......
  • ant design vue的customRender()方法中使用$createElement提示undefined
    antdesignvue的customRender()方法中使用$createElement提示undefined报错信息如下:TypeError:Cannotreadpropertiesofundefined(reading'$createElement')原因:如果index.vue文件中是从另一个columns.js的文件中引用的列配置,在columns.js文件中的customRender()方法中使......
  • rt thread pwm使用
    1.rt-threadsettings->组件->设备驱动程序->使用PWM设备驱动程序;2.rt-threadsettings->组件->示例->rtthread设备驱动示例->pwmdevice;3.board.h->#defineBSP_USING_PWM3#defineBSP_USING_PWM3_CH1#defineBSP_USING_PWM3_CH24.stm32f1xx_ha......
  • json中omitempty字段的使用
    总结1.omitempty是省略的意思2.json中字段若有omitempty标记,则这个字段为空时,json序列化为string时不会包含该字段3.json中字段若没有omitempty标记,则这个字段为空时,json序列化为string时会包含该字段看代码packagemainimport( "encoding/json" "fmt")//学生信息......
  • 认识soui4js(第三篇):使用C/C++开发扩展模块
    首先需要明确:JS代码本身不具备直接调用系统API的能力,JS代码能调用什么功能,都依赖于其它扩展模块提供了什么样的接口。soui4js模块将soui的界面能力作为一个js模块导出到了js中,使得js可以和C++一样操作GUI。但是操作GUI只是一个客户端APP的一个需求。一个产品可能会有各种需求是......