2017-07-14 142 views
1

我有一組傳遞給POST方法的數據:Python的請求隱藏在url傳遞的參數

url = 'https://exmaple.com/gate' 
    payload = { 
     'Client': '4444', 
     'Total': '10.99', 
     'Currency': 'EUR', 
     'Order': '12345', 
    r = requests.post(url, params=payload) 
    response = '$window.location.href="{}";'.format(r.url) 
    return response 

然後我得到這個網址:

https://exmaple.com/gate?Client=4444&Total=10.99&Currency=EUR&Order=12345 

如何隱藏參數在URL中傳遞?

+0

你爲什麼要隱藏它們? –

+1

您可能想要執行'data = payload'而不是['params'](http://docs.python-requests.org/en/master/user/quickstart/#passing-parameters-in-urls)。 –

+0

@Alex Lucaci,我必須隱藏它,因爲它需要操作員。 – MalT

回答

1

根據API是否接受它,你應該發送的參數在請求的身體,而不是作爲URL的參數,可以是這樣的:當你那樣做

r = requests.post(url, data=payload)

,沒有人(通常)將能夠看到你發送的數據

+0

如果我使用:r = requests.post(url,data = payload),它將我重定向到一個乾淨的URL,但沒有通過post發送數據。 – MalT

+0

這意味着API不是專門用於隱藏您發送的數據的用例。 – Igor

+0

此API用於隱藏網址中的數據。它在PHP中工作,但我無法用python處理。 – MalT