cURL에서 HTTP 헤더가 있는 API 키 전달
API 키로 인증되는 API Proxy를 Apigee에 가지고 있습니다.다음 명령을 사용하여 HTTP 요청 헤더로 키를 전달합니다.
curl -v -H "apikey: my_key" http://api_org-test.apigee.net/v1/helloapikey
다음 오류가 발생했습니다.
Invoke-WebRequest : Cannot bind parameter 'Headers'. Cannot convert the
"apikey: my_key" value of type "System.String" to
type "System.Collections.IDictionary".
헤더가 아닌 쿼리 매개 변수에서 키를 찾도록 정책을 수정하면 정상적으로 작동합니다.내가 뭘 빠트렸나요?
사용해 보십시오.
curl -v -H @{'apikey' = 'my_key'} http://api_org-test.apigee.net/v1/helloapikey
참고: curl
의 별칭입니다.Invoke-WebRequest
cmdlet:
Get-Alias curl
출력:
CommandType Name
----------- ----
Alias curl -> Invoke-WebRequest
컬을 설치할 수 있습니다. https://stackoverflow.com/a/16216825/3013633
다음 명령을 실행하여 기존 컬 별칭을 제거합니다.
Remove-item alias:curl
그러면 명령이 작동합니다.
curl -v -H "apikey: my_key" http://api_org-test.apigee.net/v1/helloapikey
위의 답변 중 아무 것도 저에게 효과가 없었습니다(오류가 발생했습니다).parse error near }
).
이것은 효과가 있었습니다.
curl -X GET \
'http://api_org-test.apigee.net/v1/helloapikey' \
-H 'apikey: my_key'
PowerShell은 URL 내의 변수를 확인할 수 없습니다. URI에서 서비스를 쿼리하려고 합니다.http://$serverHost:1234/service
효과가 없을 겁니다할 수 있습니다
$serverHost = "myHost"
$service = "http://$serverHost`:1234/service"
Invoke-WebRequest $service -Method Get
이것을 토론에 추가하기 위해, 저는 api 키를 해시해야 했지만, 토큰 호출 키 구문을 'apikey'로 변경하는 대신 남겨두었습니다.그것이 바로 저에게 효과가 있었던 것입니다!
curl -v -H @{'X-API-TOKEN' = '[*insert key here*]'} '*datacenter_url*)'
PowerShell 신입사원들에게도 주목할 만한 점으로, -v는 장황한 내용을 나타냅니다.이 스위치는 PS가 실행 중인 명령에 대한 PowerShellise의 명령 아래 시안색 텍스트를 제공합니다.거의 한 편 한 편의 해설처럼 말입니다.제가 언급할 정도로 충분히 유용합니다.
언급URL : https://stackoverflow.com/questions/40838141/passing-api-key-with-http-header-in-curl
'programing' 카테고리의 다른 글
문자열에 알파벳 문자가 포함되어 있는지 확인하려면 어떻게 해야 합니까? (0) | 2023.08.17 |
---|---|
모두 비활성화하는 방법모두 비활성화하는 방법jQuery와 함께 폼 안에?jQuery와 함께 폼 안에? (0) | 2023.08.17 |
부트스트랩 입력 포커스 파란색 표시 변경 (0) | 2023.08.12 |
Angular 'ngOnInit'의 비동기/대기 (0) | 2023.08.12 |
모든 하위 요소 가져오기 (0) | 2023.08.12 |