Python请求从URL中删除__(双下划线)

时间:2015-06-18 22:16:36

标签: python python-requests

我使用Python请求发送GET请求。 GET请求参数包含包含双下划线的变量。例如:

example.com/index.php?__action=login&__location=hub

但是,当使用requests.get()并检查使用的url时,它会完全删除包含双下划线的变量。这是我的榜样:

jsonData = json.dumps({
    'foo': 'bar'
})

params = {
    'data': urllib.quote_plus(jsonData),
    '__action': 'login',
    '__location': 'hub'
}

url = 'http://example.com/p/'
resp = request.get(url, params=params)

print resp.url

网址没有正确发送,它缺少包含双下划线的参数。

任何想法为什么?

1 个答案:

答案 0 :(得分:0)

想出来。实际上它并没有显示URL中的参数(我以为我疯了)。但问题并不那么明显。

页面重定向后,

resp.url显示了该网址。它是重定向的,因为我没有使用https,服务器只响应https个请求。一个引起如此多头痛的拼写错误。

allow_redirects=False告诉我requests没有删除任何内容。