PHP和cURL:如何在多个请求中保持会话活动?

时间:2017-04-06 06:22:43

标签: php session curl web-scraping

经过一段时间的尝试,我不得不问。这让我疯了。我写了一个小脚本来抓取mobile.bahn.de获取当地火车站的出发信息。

我正在使用CURLOPT_COOKIEFILE和Cookie Jar,但秒请求不在远程Web服务器上的会话中。

textInputView.becomeFirstResponder()
let cursorPosition = str.utf16.count
let cursorRange = NSRange(location: cursorPosition, length: 0)
textInputView.selectedRange = cursorRange
textInputView.scrollRangeToVisible(cursorRange)

在github上:https://github.com/mtoensing/time2train/blob/1.2/index.php

这个概念证明有效。基本上。

  1. 首先,我发布表单数据以检索结果页面。
  2. 其次,我按照该结果页面上的链接查看旅程详情。
  3. 但是最后一步不起作用。我得到的HTML数据只是首页。我的猜测是cURL没有会话ID。但我设置了所有cURL选项,如cookiejar和cookiefile。

    有什么想法吗?我不认为这是一种防止数据抓取的保护措施。我认为限制是我在这里的编码技巧以及我对会话和cookie的缺失知识。 ;-)

1 个答案:

答案 0 :(得分:0)

由于会话问题,问题不存在。它不起作用的原因是网址中有实体。

html_entity_decode修复了它。