python - 如何将 curl 转换为 python 请求(crushftp)
问题描述
我想使用 crushftp api 为用户设置密码。
我正在使用更新用户 API https://www..com/crush9wiki/Wiki.jsp?page=API
它有类似卷曲的东西
--data-urlencode
> 'user=<?xml+version="1.0"+encoding="UTF-8"?>+<user+type="properties"><password>thisismypass</password></user>'
curl -d command=setUserItem -d data_action=update -d xmlItem=user -d serverGroup=MainUsers -d username=curl_user --data-urlencode 'user=<?xml+version="1.0"+encoding="UTF-8"?>+<user+type="properties"><password>thisismypass</password></user>' http://crushadmin:pass@127.0.0.1:8080/
我尝试转换:
import requests
url = "http://crushadmin:pass@127.0.0.1:8080/"
payload = "command=setUserItem&data_action=update&xmlItem=user&serverGroup=MainUsers&username=curl_user"
headers = {
'cache-control': "no-cache",
'Postman-Token': "9b1c470d-889a-4647-a0f1-4b2a5c00bf68"
}
response = requests.request("GET", url, data=payload, headers=headers)
print(response.text)
但是,我不知道如何输入 xlm,包括需要更改的密码
用户=+thisismypass
解决方案
导入请求
url = 'http://crushadmin:pass@127.0.0.1:8080/'
payload = {
'command': 'setUserItem',
'data_action': 'update',
'xx': 'xx'}
headers = {
'cache-control': 'no-cache',
'Postman-Token': '9b1c470d-889a-4647-a0f1-4b2a5c00bf68'}
response = requests.get(url=url, params=payload, headers=headers)
print(response)
推荐阅读
- javascript - 将 await 添加到 fs.writeFileSync 在 readline 问题中不起作用(节点 10.11.0)
- mysql - SQL 中哪一个更快 ... LIKE s_______ 或 ... LIKE s%
- reactjs - React.js / Redux:功能组件,遗留状态/道具,我是否必须连接使用商店的每个组件?
- excel - 如何修复打开空 Excel 实例更改 StartUp-path XLSTART 和 PERSONAL.XLSB?
- unity3d - 使用“Material Color.Lerp”时未显示游戏对象
- php - 使用序列化对象时如何处理类中属性的可见性变化?
- git - Foxtrot 合并:如何解决
- javascript - HTMLImageElement not valid as a React Child
- java - 如何在使用 Google guice ServletModule 的代码中加载 servlet 时在 Jetty 9.3 中设置 _asyncSupported = true
- c++ - 将数据成员数组传递给递归过程时,是否会在每个堆栈帧中创建该数组的新副本?