Python请求post正文

Python请求post正文,python,request,python-requests,Python,Request,Python Requests,我正在尝试使用管理员脚本将sql查询发送到我的wordpress数据库,但问题是我缺少一些需要作为正文或标题发送的内容。如果我错了,请与我联系 请求生的 标题未加工 我还使用Burp套件截获了请求,以进一步澄清 请求生的 请求参数 请求头 我的实际代码 ses = requests.Session() data = {"server": "localhost", "username": wpuser,

我正在尝试使用管理员脚本将sql查询发送到我的wordpress数据库,但问题是我缺少一些需要作为正文或标题发送的内容。如果我错了,请与我联系

请求生的

标题未加工

我还使用Burp套件截获了请求,以进一步澄清

请求生的

请求参数

请求头

我的实际代码

ses = requests.Session()
                    data = {"server": "localhost",
                           "username": wpuser,
                           "db": wpdb,
                            "sql": "SELECT * from wplj_users"}
                    url="https://mywebsite/REV/adminer-4.7.5-en.php?server=localhost&username=adepfran_wp975&db=adepfran_wp975&sql=SELECT%20*%20from%20wplj_users"
                    request = ses.post(url,data=data )

没有限制、查询、令牌内容处置的请求没有返回想要的响应,我如何传递它们?

您似乎必须将其作为文件发送=

对于我使用的测试,它将返回您在请求中获得的所有内容,以便我可以显示它并与预期数据进行比较

在我使用“无”的文件中,从wplj_用户中选择*以便此“无”将删除filename=query

结果

=== url ===

https://httpbin.org/post?server=localhost&username=adepfran_wp975&db=adepfran_wp975&sql=SELECT+%2A+from+wplj_users

=== headers ===

User-Agent: Mozilla/5.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Content-Length: 331
Content-Type: multipart/form-data; boundary=79f18e4306b943ea92a49bae21b51b9c

=== body ===

--79f18e4306b943ea92a49bae21b51b9c
Content-Disposition: form-data; name="query"

SELECT * from wplj_users
--79f18e4306b943ea92a49bae21b51b9c
Content-Disposition: form-data; name="limit"


--79f18e4306b943ea92a49bae21b51b9c
Content-Disposition: form-data; name="token"

401937:659783
--79f18e4306b943ea92a49bae21b51b9c--

你们不能直接连接到数据库并使用MySQL模块发送查询吗?若你们想使用请求,那个么可能首先发送GET到主页以获取新的cookie和新的会话ID,会话会自动将其添加到POST中。如果你通常必须登录到adminer,那么你的代码也必须登录到adminer。看起来你可能必须以文件的形式发送,而不是以数据的形式发送。这是我代码的一部分。我已经在adminer中连接并测试了会话cookie。我要发送的主要问题是--WebKitFormBoundaryxYBGQZZPmZQXH内容配置:表单数据;name=query select*from wplj_termmeta--webkitformboundaryxybgqzzbgpmzqxh内容处置:表单数据;name=limit---webkitformboundaryxybgqzzbgpmzqxh内容处置:表单数据;name=token 792550:799199---webkitformboundaryxybgqzzbgpmzqxh您必须将其作为请求发送。post…,files={sql:select*from wplj_termmeta,…}
ses = requests.Session()
                    data = {"server": "localhost",
                           "username": wpuser,
                           "db": wpdb,
                            "sql": "SELECT * from wplj_users"}
                    url="https://mywebsite/REV/adminer-4.7.5-en.php?server=localhost&username=adepfran_wp975&db=adepfran_wp975&sql=SELECT%20*%20from%20wplj_users"
                    request = ses.post(url,data=data )
import requests

params = {
    'server': 'localhost',
    'username': 'adepfran_wp975',
    'db': 'adepfran_wp975',
    'sql': 'SELECT * from wplj_users',
   }

data = {
    "query": (None, "SELECT * from wplj_users"),
    "limit": (None, ""),
    "token": (None, "401937:659783"),
}

headers = {
    'User-Agent': 'Mozilla/5.0',
    #'Referer': 'https://mywebsite/REV/adminer-4.7.5-en.php?server=localhost&username=adepfran_wp975&db=adepfran_wp975&sql='

    # requests.Session() should care of cookies so this header shouldn't be needed
    #'Cookie': 'adminer_sid=00e0c898e031284904f8e51b591c1dee; adminer_key=320bc6e9870ffdf2f54982cb2292de87'
}

url = "https://httpbin.org/post"
#url = "https://mywebsite/REV/adminer-4.7.5-en.php"

s = requests.Session()
#r = s.get(url) # to get fresh cookies
r = s.post(url, params=params, headers=headers, files=data)

print('\n=== url ===\n')
print(r.request.url)

print('\n=== headers ===\n')
for key, val in r.request.headers.items():
    print('{}: {}'.format(key, val))

print('\n=== body ===\n')
print(r.request.body.decode())
=== url ===

https://httpbin.org/post?server=localhost&username=adepfran_wp975&db=adepfran_wp975&sql=SELECT+%2A+from+wplj_users

=== headers ===

User-Agent: Mozilla/5.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Content-Length: 331
Content-Type: multipart/form-data; boundary=79f18e4306b943ea92a49bae21b51b9c

=== body ===

--79f18e4306b943ea92a49bae21b51b9c
Content-Disposition: form-data; name="query"

SELECT * from wplj_users
--79f18e4306b943ea92a49bae21b51b9c
Content-Disposition: form-data; name="limit"


--79f18e4306b943ea92a49bae21b51b9c
Content-Disposition: form-data; name="token"

401937:659783
--79f18e4306b943ea92a49bae21b51b9c--