2016-09-05 7 views
0

私が照会するアプリケーションにはJson形式が必要です。サポートされている方法はPOSTです。私は、一見1つのクエリからクッキーを取得し、別のクエリに渡す方法の良い例を見つける(またはそれ以降のクエリがbase packageの一部として使用することはできません。あなたは私が間違ってやっている助言してもらえますか?安らかなAPI - 後続のPOSTリクエストにクッキーを渡す

import json 
import requests 
headers = {'Content-type': 'application/json'} 
data = {"username":"user1", "password":"pass1"} 
login_info = json.dumps(data) 

session = requests.Session() 

login_url = 'https://ip/login' 
response = session.post(login_url, data=login_info, headers=headers, verify=False) 
print session.cookies.get_dict() 
#returns the following format- {'JSESSIONID': 'DE1EE0006D53EABFA4EE0C6A50D1386A'} 

query_url = 'https://ip/query' 
response = session.post(query_url, cookies=session.cookies.get_dict(), headers=headers, verify=False) 

print response.text 
#retuns +++++++++++++++ JSESSIONID is empty! +++++++++++++ 

答えて

-1

このリンクはあなたの問題を解決してい可能性があります。Apache HttpClient 4.0.3 - how do I set cookie with sessionID for POST requestは、クッキーのパス調整部を見てください...あなたは二HTTP POSTリクエストの前にそうする必要があるかもしれませんが

あなたはキャプチャすることができます。 HTTPリクエスト、レスポンス(FirebugやChromeを使用した場合など)、(1)手動でログインページとクエリページを試し、(2)同じwあなたのスクリプトのを削除し、必要に応じてそれらを消毒し、ここに投稿してください。それによって私たちはあなたをより良く助けることができます。ありがとう。

注意/エクストラリーディング教材: - :How to debug the http response headers from a HTTP call

2)JSESSIONID上のいくつかの余分な情報:

http://www.cs-repository.info/2014/07/understanding-jsessionid.html

1)あなたはFirebugのを使用して助けが必要な場合は、ここで1つのリンクがあります

3)このリンクでは、クッキーとコンテキストに関する興味深い説明があります:http://www.cs-repository.info/2014/04/sharing-jsessionid-across-applications.html あなたが直面している問題の背後にある本当の理由を明らかにするかもしれません彼はサーバー側のソリューションはあなたには適用されません)。 "AppOne/one.jsp"というテキストを検索して、すぐに読み終わることができるように、その時点以降を読んでください。

関連する問題