dongwei4444 2016-04-15 01:07
浏览 40
已采纳

获取最后一页http请求golang

I am doing an http requestlike this one:

resp, err := http.Get("http://example.com/")

Then I am getting the header link:

link := resp.Header.Get("link")

Which gives me a result like this:

<page=3>; rel="next",<page=1>; rel="prev";<page=5>; rel="last"

Question

How can I parse this into a more legible way? I specifically trying to get the last page but firstand nextpage should useful as well.

I tried with Splitsand Regular expressionswithout success.

  • 写回答

2条回答 默认 最新

  • 普通网友 2016-04-15 08:43
    关注

    Are you sure that is the format of the output? It looks like one of ; should be a ,. A single Link http header with multiple values, should be of the format (notice the comma after "prev")

    <page=3>; rel="next",<page=1>; rel="prev",<page=5>; rel="last"
    

    The order should be split on , for each link. Split each link on ; for values or key-value pairs, and then if they value matches <(.*=.*)>, discard the angle brackets and use the remaining key and value.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?