inflearn logo
강의

講義

知識共有

初めてのPythonバックエンド FastAPI入門 (FastAPIから非同期SQLAlchemyまで) [フルスタック Part1-2]

curl -X POST http://127.0.0.1:8000/set/ -i -c cookies.txt 에러

281

wonnho2

投稿した質問数 7

0

세션을 실행하고 있어 curl로 실행하려고 하는데 아래와 같은 에러 메세지가 뜨네요.

Invoke-WebRequest : 매개 변수 이름 'c'이(가) 모호하므로 매개 변수를 처리할 수 없습니다. 일치하는 항목은 다음과

같습니다. -Credential -CertificateThumbprint -Certificate -ContentType.

위치 줄:1 문자:45

+ curl -X POST http://127.0.0.1:8000/set/ -i -c cookies.txt

+ ~~실행하면 위와 같은 에러메시지가 나오는데 어떻게 해결할 수 있나요? from fastapi import FastAPI,Request from fastapi.security import HTTPBasic from starlette.middleware.sessions import SessionMiddleware app=FastAPI() app.add_middleware(SessionMiddleware,secret_key="your-secret-key") @app.post("/set/") async def set_session(request:Request): request.session["username"]='smith' return {"message":"Session value"} @app.get("/get/") async def get_session(request:Request): username=request.session.get("username","Guest") return {"username":username}

python mvc sqlalchemy FastAPI backend

回答 1

0

funcoding

안녕하세요. 답변 도우미입니다.

혹시 curl 명령을 Windows 의 PowerShell 에서 실행하셨는지 궁금하네요. 사실 저도 그런 에러를 본적은 없다보니 무엇이 문제인지 찾아보았는데요.

다음과 같은 답변을 확인하였습니다. PC 환경이 워낙 다양해서 꼭 무조건 PowerShell 에서는 안된다는 건 아닌데, 특정 환경에서는 또 이러한 문제가 있을 수 있는 것 같습니다. 다음과 같은 가이드와 함께 curl.exe 로 테스트를 해보시면 어떠실까요?

현재 발생한 오류는 curl 명령어를 Windows의 PowerShell에서 실행하려고 할 때 발생하는 문제입니다. Windows PowerShell에서는 curl 명령어를 Invoke-WebRequest로 해석하는데, 이로 인해 명령어의 옵션인 -cInvoke-WebRequest의 여러 매개변수 중 하나로 오인되어 발생하는 문제입니다.

해결 방법

  1. PowerShell에서 curl 대신 curl.exe 사용하기: PowerShell은 기본적으로 curl 명령어를 Invoke-WebRequest로 대체합니다. 이를 우회하기 위해 명령어에서 curl 대신 curl.exe를 사용해보세요.

    curl.exe -X POST http://127.0.0.1:8000/set/ -i -c cookies.txt
  2. PowerShell에서 Invoke-WebRequest 명령어 사용: PowerShell에서는 curl 대신 Invoke-WebRequest를 사용할 수 있습니다. 그러나 이 경우 -c 옵션(쿠키 저장)을 사용할 수 없기 때문에, Invoke-WebRequest로는 동일한 기능을 처리하기 어렵습니다.

    대신, curl 명령어는 Windows용으로 제공되는 Git BashWSL(Windows Subsystem for Linux) 환경에서 사용할 수 있습니다.

  3. Git Bash나 WSL을 사용: PowerShell 대신 Git Bash나 WSL을 사용하면, curl 명령어가 리눅스 환경처럼 제대로 동작합니다. Git Bash는 간단히 설치할 수 있으며, 리눅스 명령어들과 동일한 명령어를 사용할 수 있습니다.

요약

  • PowerShell에서는 curl.exe로 명령어를 실행하면 문제가 해결될 가능성이 큽니다.

  • PowerShell에서 명령어를 사용하려면 Invoke-WebRequest 대신 Git BashWSL에서 curl 명령어를 사용하는 것이 더 좋습니다.

감사합니다. 잔재미코딩 드림.

강의노트는 제공 안해주시는 게 맞나요?

0

48

1

FastAPI를 선택하는 이유

0

73

1

동기와 비동기 엔진 부분에 대해서 궁금해서 문의드립니다.

0

68

0

강의자료 관련 질문

0

63

1

16강에 원래 있어야 할 강의 내용이 없고 23강 내용이 그대로 업로드 되어 있습니다.

0

109

2

uvicorn 명령어 수행 오류

0

114

1

pydantic model 기본

0

107

1

Windows에서 수강하는 분들을 위한 노트

1

177

1

'강의 준비를 위한 VSCode'에서 질문

0

117

1

deprecated 경고는 어디서 확인할 수 있나요?

0

218

1

실전 프로젝트 코드

0

169

1

강의자료

0

159

1

터미널에서 uvicorn명령어 칠때 자동완성

0

178

1

pdf 14_async_sqlalchemy 데이터 검색(읽기) github 링크

0

156

1

섹션 12 SQLAlchemy 검색 기본 문법 질문

0

171

1

Fast API 개발환경설정 자료

0

234

1

연동된 강의안과 수업에서 하는 강의안이 달라요

0

167

1

mySQL과 fastAPI가 연동이 안됨

0

520

2

pydantic 2.8.2를 사용하고 있습니다

0

170

1

AsyncSession 질문입니다.

0

174

1

uvicorn main:app --reload 실행 불가

0

1513

1

PDF파일 다운로드는 어디서 할 수 있나요?

0

401

1

html 오류

0

294

1

pip install 해야할 목록을 알고 싶습니다.

0

231

1