2017-04-16 67 views
1

我有一个关于python请求帖子的问题。在帖子中,它仍然返回搜索页面而不是结果页面。python请求帖子不工作

我已经四处搜寻,但我无法自己解决它。

网站:http://facilityquality.dads.state.tx.us/qrs/public/qrs.do?page=searchCity&lang=en&mode=P&dataSet=1&ctx=2630332

我的代码(头不包括在内):

url_city_search='http://facilityquality.dads.state.tx.us/qrs/public/qrs.do?page=searchCity&lang=en&mode=P&dataSet=1&ctx=2630332' 

data={"serviceTypeOption":"al_B","cityName":"Houston","dispatch":"citySearch"} 
s = requests.Session() 
providers=s.post(url_city_search,headers=headers,data=data,timeout=15, verify=True) 
print providers.status_code 
print providers.text 

回答

1

@sideshowbarker回答了你的问题非常好,但我认为还值得补充说requests将处理构建参数如果您将字典传递给请求中的可选params参数,则为您提供字符串。自己构建字符串时,很容易弄错参数。

import requests 
url_params = { 
    "page": "qrsSearchResults", 
    "lang": "en", 
    "mode": "P", 
    "dataSet": "1" 
} 
url_base = "http://facilityquality.dads.state.tx.us/qrs/public/qrs.do" 
data = {"serviceTypeOption":"al_B", "cityName":"Houston", "dispatch":"citySearch"} 
s = requests.Session() 
providers = s.post(url_base, params=url_params, data=data, timeout=15, verify=True) 
print providers.status_code 
print providers.text 
+0

好点。实际上,'data'成员是否也可以和URL参数结合?它们都只是参数和价值。 – sideshowbarker

+0

是的!我不确定他们是否是url参数或表单数据,但他们绝对可以(也应该)添加。 – etemple1