问题背景:
使用golang调用harbor api时返回403错误码,提示CSRF token invalid。由于二次访问harbor时header没有设置 x-harbor-csrf-token属性导致。一次访问通过clinet执行harbor project查询,返回值不包含x-harbor-csrf-token,无法实现二次访问。
问题解决:
起两个client避免二次访问。
client.R().EnableTrace().SetBasicAuth(username, password).Post(fmt.Sprintf("https://%s/api/v2.0/projects", ip)
connection: keep-alive content-length: 73 content-type: application/json; charset=utf-8 date: Tue,13 Dec 2022 05:05:12 GMT server: nginx vary: Cookie x-harbor-csrf-token: LWEfrxmqeEajR9OgF0D46852rxJl6YoSZbRY46H9JLMMZpvFw9BZS2Lau7g3UUtfMyFAI72V8hWjs8UgSsEC+Q== x-request-id: 0fbad856-ff6f-4845-917f-8f94d273cc2a