README์๋ " .netrc
์ธ์ฆ ์ ๋ณด๋ ์กด์ค๋ฉ๋๋ค."๋ผ๊ณ ๋์ด ์์ง๋ง ์ด๊ฒ์ด ์ด๋ป๊ฒ ์ํ๋๋์ง ๋ช
ํํ์ง ์์ต๋๋ค. ์ด๋ฅผ ์ค๋ช
ํ๊ธฐ ์ํด README๋ฅผ ์
๋ฐ์ดํธํด์ผํฉ๋๋ค. PR์ ์ ์ถํ๊ณ ์ถ์ง๋ง ์ฌ์ ํ ์์๋ผ ์ ์์ต๋๋ค. curl -n
๋งํผ ์ฝ์ง๋ ์์ต๋๋ค.
ํ์ฌ HTTPie๋ ํญ์ ๊ธฐ๋ณธ ~/.netrc
ํ์ผ (๋๋ Windows์์๋ ~/_netrc
)์ ์ฝ์ผ๋ ค๊ณ ํฉ๋๋ค. ์ค์ ๋ก์ด๋ฅผ ์ํํ๋ ๊ธฐ๋ณธ python-requests
๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค.
ํ ... curl
์ ์๋ฒฝํ๊ฒ ์๋ํ๋ ~/.netrc
ํ์ผ์ด ์์ง๋ง HTTPie์์๋ ์์ ํ ๋ฌด์๋๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ค์์ ์๋ํ๋ ์์ ๋๋ค.
~/.netrc
:
$ http httpbin.org/basic-auth/httpie/test
HTTP/1.1 401 UNAUTHORIZED
Connection: close
Content-Length: 0
Date: Wed, 10 Apr 2013 16:49:10 GMT
Server: gunicorn/0.16.1
Www-Authenticate: Basic realm="Fake Realm"
~/.netrc
:
machine httpbin.org
login httpie
password test
๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ์ ํ๋์์ต๋๋ค.
$ http httpbin.org/basic-auth/httpie/test
HTTP/1.1 200 OK
Connection: close
Content-Length: 47
Content-Type: application/json
Date: Wed, 10 Apr 2013 16:49:23 GMT
Server: gunicorn/0.16.1
{
"authenticated": true,
"user": "httpie"
}
--verbose
ํ๋๊ทธ๋ฅผ ์ค์ ํ์ฌ HTTPie๊ฐ Authorization: Basic xxxxxx
์ ์กํ๋์ง ํ์ธํ ์๋ ์์ต๋๋ค.
์ค์ ๋ก $ python -m netrc
๋ฅผ ์คํํ์ฌ ~/.netrc
๊ฐ Python์ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ netrc
๋ชจ๋์์ ์ด๋ป๊ฒ ์ดํด๋๋์ง ํ์ธํ ์
์ด์ ๋ํ ๊ฐ๋จํ ์์ ๋ก readme๋ฅผ ์์ ํ๊ธฐ ์ํด ํ ์์ฒญ์ ์ด์์ต๋๋ค.
ํ์ ์กฐ์น๋ฅผ ์ทจํ๊ธฐ ์ํด .netrc
์์๋ login
ํ๋ ์ค ํ๋ ์์ ๊ฐ์ด ์์๋๋ฐ, ์ด๋ Python์ ๊ดด๋กญํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๋ค ์ด์ ๋ก curl
์ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ค์ ๋ก
$ python -m netrc
๋ฅผ ์คํํ์ฌ~/.netrc
๊ฐ Python์ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์netrc
๋ชจ๋์์ ์ด๋ป๊ฒ ์ดํด๋๋์ง ํ์ธํ ์