首页 > 解决方案 > 如何将 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

标签: pythoncurl

解决方案


导入请求

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)

推荐阅读