登录
首页 >  Golang >  Go问答

如何在GO中获得HTTP请求的Links字段

来源:stackoverflow

时间:2024-02-07 11:36:19 382浏览 收藏

目前golang学习网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《如何在GO中获得HTTP请求的Links字段》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分享~

问题内容

我找到了这个代码片段

import requests
from urllib.parse import parse_qs, urlparse

def get_commits_count(self, owner_name: str, repo_name: str) -> int:
    """
    Returns the number of commits to a GitHub repository.
    """
    url = f"https://api.github.com/repos/{owner_name}/{repo_name}/commits?per_page=1"
    r = requests.get(url)
    links = r.links
    rel_last_link_url = urlparse(links["last"]["url"])
    rel_last_link_url_args = parse_qs(rel_last_link_url.query)
    rel_last_link_url_page_arg = rel_last_link_url_args["page"][0]
    commits_count = int(rel_last_link_url_page_arg)
    return commits_count

我需要在 go 中做同样的事情。在我看来,我需要在 go 中使用类似“链接”字段(或其他任何内容)的东西,但我找不到这样的东西。

我陷入了困境,因为我不知道 go 中的 http 请求中的“链接”代表什么。


正确答案


所以,基本上我们需要通过执行response.header["links"]来获取link响应头

links := resp.Header["Link"]
if len(links) == 0 {
    return 0
}
var badlyParsedPageNumber = strings.Split(strings.Split(strings.Split(links[0], ", ")[1], "; ")[0],
    "&page=")[1]
lastPage := badlyParsedPageNumber[0 : len(badlyParsedPageNumber)-1]

到这里,我们也就讲完了《如何在GO中获得HTTP请求的Links字段》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>