事先需要模拟登录,获取cookie等操作。
然后比如循环请求两个地址a和b:
http://xxxx.xxxx.com/purOrder/getOrderDetailInfo.action?billId=123456
http://xxxx.xxxx.com/purOrder/getOrderDetailInfo.action?billId=654321
假设a返回3条数据,b返回10条数据
现在问题是,用while循环去请求这两个地址,不管我怎么去刷新,还是请求了a后sleep30秒也好,得到的结果要么就是为空,要么就是a的3条数据,要么就是b的10条数据,总是不能得到a和b的总的数据。
ps:如果我在浏览器登录网站后,直接在浏览器输入a地址,然后输入b地址,数据都是可以获取到的
该怎么办呢?已经折腾好几天了。
把http头打印出来,分别是返回数据的和没有返回数据的
登录后把cookie存在cookie.txt里的,后面的post请求都是把这个文件传进去的,为什么这里cookie会变成这样呢?
这是登录后打印的http头信息
这是保存为cookie.txt的cookie信息
为情所困2017-05-16 13:05:31
curl 演算子を不適切に使用すると、解決できない問題が大量に発生することがあります。この場合はどうすればよいでしょうか。それを解決するホイールを見つけてください! !
前回 Douban に投稿したときにたまたま /a/11...
を使用してしまいました淡淡烟草味2017-05-16 13:05:31
具体的な Web サイトのアドレスがなく、問題を特定するのが難しいのは、ログイン Cookie が間違っており、A が本人確認の条件を満たしていないため、認証できるデータのみを返すためだと思われます。匿名ユーザーに見られる可能性があります。
迷茫2017-05-16 13:05:31
ループする必要はありません。ページ内で直接 file_get_contents を実行します。つまり、それぞれを個別にリクエストして、返された結果が正しいかどうかを確認します
黄舟2017-05-16 13:05:31
データを返すヘッダーと返さないヘッダーを出力します。
ログイン後、Cookie を cookie.txt に保存します。なぜここに Cookie があるのでしょうか。こうなったらどうなるのでしょうか?