我有一個腳本,我希望能夠通過 curl 命令對其https://raw.githubusercontent.com/...位置進行訪問。使用 git.io,將這個 URL 縮短為類似https://git.io/ABCDE.
但是存在與我的腳本存在于私有存盤庫中這一事實相關的問題。如果我直接針對githubusercontentURL卷曲,我會得到 404: Not Found。我可以通過在請求中傳遞授權標頭來繞過這個,例如
$ curl -H "Authorization: token <My Github Personal Access Token>" \
https://raw.githubusercontent.com/...
> !#/bin/bash
... # rest of script
但是,當我使用縮短的 URL 時,我沒有得到任何回報。甚至不是 404。
$ curl -H "Authorization: token <My Github Personal Access Token>" \
https://git.io/ABCDE
$
有誰知道這里發生了什么?
uj5u.com熱心網友回復:
URL 縮短器的作業方式是發出某種 3xx 系列 HTTP 狀態代碼,將您重定向到新位置,然后您針對該新位置發出請求。但是,默認情況下,curl 不遵循重定向,因此您在發出請求時看到的只是來自 git.io 的輸出,在這種情況下什么都不是。
如果您想跟隨重定向,那么您應該使用-Lcurl 選項,這將使其跟隨重定向。請注意,在傳遞憑據時,這在許多情況下可能是不安全的,因為傳遞的任何憑據-H都將傳遞到資料重定向到的任何遠程服務器。在這種情況下,這就是您想要的,但在其他情況下,如果憑據僅用于原始服務器,則可能會出現安全問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/378015.html
下一篇:選擇一個git跟蹤的檔案
