2017-04-16 14 views
1

私はpython request postについて質問があります。投稿では、結果ページではなく検索ページが返されます。python request postは動作しません

私は検索しましたが、自分で解決できませんでした。

ウェブサイト: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引数にdictを渡すと、あなたのための文字列です。あなた自身で文字列を作成するときにパラメータを間違えさせるのは簡単です。

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

関連する問題