独立实战:还原一次阅读进度保存

接下来,请综合运用前面学到的 HTTP、请求、会话与浏览器开发者工具等技能,完成“笔趣城”的实战任务。

调查一次阅读进度保存

Lab

启动笔趣城,点 TARGET Web 打开网站,需要时把入口地址复制到本机 curl。本实验提供普通读者账号 reader,密码 bookworm。

综合运用本课学到的技能:登录后找到《国运天启,我召唤三姓家奴》,把它加入自己的书架,将阅读进度保存到第三章,再重新读取该书的书架记录。把返回 JSON 里 sync_reference 中以 COIN 开头的完整值提交上来。其他书籍、章节或站内编号不是本题答案。

测试范围是当前实例,提交成功会结束会话。

加载会话状态…

提交 coin

题解 Hint

实战任务目标

  1. 在笔趣城网站中找到小说《国运天启,我召唤三姓家奴》;
  2. 打开小说详情页,确认这本书在后端返回的 book_id;
  3. 将这本书添加到当前登录用户的书架中;
  4. 将这本书的阅读进度更新到第三章;
  5. 重新读取后端书架记录,从返回 JSON 中提取 sync_reference 字段里以 COIN{...} 开头的完整字符串;
  6. 把该 COIN 提交到本节上方的 “调查一次阅读进度保存” 任务卡。

推荐操作步骤

  1. 用浏览器或 curl 访问小说详情页,例如:

    curl -i "$target_url/book?id=4"
    

    确认目标书籍的 book_id。这里的 4 只是示例,实际以页面返回为准。

  2. 确保 cookies.txt 中保存了有效登录状态。后续请求都需要带上这个 Cookie。

  3. 发送 POST 请求,将目标书籍加入书架:

    curl -sS -i -b cookies.txt -H 'Content-Type: application/json' -d '{"book_id":4}' "$target_url/api/bookshelf"
    
  4. 发送 PUT 请求,将该书阅读进度更新到第三章:

    curl -sS -i -b cookies.txt -X PUT -H 'Content-Type: application/json' -d '{"chapter":3}' "$target_url/api/bookshelf/4"
    
  5. 再次发送 GET 请求,读取该书对应的书架记录:

    curl -sS -b cookies.txt "$target_url/api/bookshelf/4"
    

    在返回的 JSON 中找到 sync_reference,复制 COIN{ 开头到 } 结束的完整字符串。

  6. 将完整字符串提交到对应任务卡,即可验证本次实战是否完成。