我使用cfhttp登录网站,然后想发送第二个请求来访问需要登录的数据。
第一个http请求传递登录详细信息并记录正常,然后我从登录中返回cookie并将其传递给第二个请求.. <cfparam type='cookie'
...
第二个请求是提供未登录的响应。
当我将传入的主会话cookie的值与请求标头中该cookie的值进行比较时,它已经更改。即使我手动将实际值直接复制并粘贴到<cfparam
值,当我检查请求的标题时它也是不同的。
_user_session
cookie的实际值的示例是:
BAh7CSIVdXNlcl9jcmVkZW50aWFscyIBgDNhNTJjZmU4YmZhZTA3NzYzNWY1MGViZmFiNDkyMmQ3MjFkODliZDNlMWFkYTI0MmY2YWYzZmMxMzhkZjE4NjNkZGRkN2VkNjljYTlmYTNjMjE1MjA3MzhmZmU5ZDY1NTYwMmM5MmRhNTkzOGRmZDY5NjE0OTU0Njk4OGI0ZTZlIg9zZXNzaW9uX2lkIiUzYzkxYTc1MGM3NGVkM2U0YTNlMzQyY2Y3MzAzZDY1ZCIYdXNlcl9jcmVkZW50aWFsc19pZGkCYgU6DnJldHVybl90bzA%3D - fd91306fe11f1f1a56a85b2c3f06be6e83f06ec5
但是当我在请求标头中检查_user_session
cookie的值时,它是:
BAh7ByIOcmV0dXJuX3RvIi8vZXh0cmFuZXQvcHJvcGVydGllcy8xMzI2L3Jlc2VydmF0aW9ucy5jc3YiD3Nlc3Npb25faWQiJTNmZTE2ZmIyOWNkNDk3MGRmZmZmYTY3ZDVhYzg1ZDRh - fb154a0e79a477e52dee3da1d5f62c2e456e567b
前四位是相同的,(BAh7),但其余的则短得多......好吧......只是不同......
我在这里遗漏了什么吗?任何人都可以解释可能发生的事情吗?
............................ ............................
谢谢大家..只是想小心发布实际代码,因为它包含地址和密码等,但基本上这就是我把它归结为......我直接从标准中取出了cookie值在浏览器中登录并粘贴...只是为了缩小范围..
<cfhttp method="Post" url="https://www.abcdefg.com/extranet" useragent="#CGI.http_user_agent#" result="data" redirect="no">
<cfhttpparam type="COOKIE" name="user_credentials" value="3a52cfe8bfae077635f50ebfab4922d721d89bd3e1ada242f6af3fc138df1863dddd7ed69ca9fa3c21520738ffe9d655602c92da5938dfd696149546988b4e6e"/>
<cfhttpparam type="COOKIE" name="_abcdefg_session" value="BAh7CSIQX2NzcmZfdG9rZW4iMWlkLzVzUndmL1FTdnZhTXJvOTQ2bDh5QnFkbExPbzNNZmk3b3l2T1RYTjg9IhV1c2VyX2NyZWRlbnRpYWxzIgGAM2E1MmNmZThiZmFlMDc3NjM1ZjUwZWJmYWI0OTIyZDcyMWQ4OWJkM2UxYWRhMjQyZjZhZjNmYzEzOGRmMTg2M2RkZGQ3ZWQ2OWNhOWZhM2MyMTUyMDczOGZmZTlkNjU1NjAyYzkyZGE1OTM4ZGZkNjk2MTQ5NTQ2OTg4YjRlNmUiD3Nlc3Npb25faWQiJTkzZmI4N2IyODI2M2EyODZkYjNmNTFlNTdhZGRjNzg0Ihh1c2VyX2NyZWRlbnRpYWxzX2lkaQJiBQ"/>
我实际上开始怀疑它是否与在另一端处理请求的方式有关...得到各种奇怪的回复,没有什么是相当多的。我已经做了很多这些,但是这个看起来有点不同..通常我有redirect =“no”..如上所述,但如果我把它拿出来,那么我实际上是在获取入口页面..确认我已经记录in,但是当我尝试访问该页面中显示的实际url时(例如... / extranet / reports / report.csv)我得到页面未找到错误..我可以从页面内链接到它,但是然后如果我用cfhttp调用它,响应是它不存在..
对不起这没有任何意义..我仍在努力弄清楚所有这一切......当我开始在森林里看到一些树木时会重新发布..
再次感谢你们!
杰森答案 0 :(得分:0)
我不熟悉cfhttp但是 这是包含你的cookie的东西:
cookie 1 {
"user_credentials" = 3a52cfe8bfae077635f50ebfab4922d721d89bd3e1ada242f6af3fc138df1863dddd7ed69ca9fa3c21520738ffe9d655602c92da5938dfd696149546988b4e6e
"session_id" = %3c91a750c74ed3e4a3e342cf7303d65d
[...]
}
等
cookie 2 {
"return_to" = //extranet/properties/1326/reservations.csv,
"session_id" = %3fe16fb29cd4970dffffa67d5ac85d4a
}
尝试从base64解码到ascii以查看您的cookie。有一些我无法阅读的数据。