2012-10-02 4 views
0

맛있는 파이를 사용하여 RESTful API를 제공하는 Django 앱이 있습니다.Python Requests 및 Django/tasty-pie의 404 오류

나는 장고의 개발 runserver을 사용하여 테스트하고 있습니다. 나는 그것이 잘 작동 브라우저를 통해 액세스 및 사용 컬도 잘 작동

:

curl "http://localhost:8000/api/v1/host/?name__regex=&format=json" 

을의 runserver와 콘솔, 나는 참조 :

[02/Oct/2012 17:24:20] "GET /api/v1/host/?name__regex=&format=json HTTP/1.1" 200 2845 

을하지만, 내가하려고 할 때 파이썬 요청 모듈()를 사용하여, 나는 출력으로 404를 얻을 :

>>> r = requests.get('http://localhost:8000/api/v1/host/?name__regex=&format=json') 
>>> r 
<Response [404]> 

나 :

>>> r = requests.get('http://localhost:8000/api/v1/host/?name__regex=&amp;format=json') 
>>> r 
<Response [404]> 

또한, 장고의 runserver 콘솔에, 나는 참조 :

어떤 이유
[02/Oct/2012 17:25:01] "GET http://localhost:8000/api/v1/host/?name__regex=&format=json HTTP/1.1" 404 161072 

내가 요청을 사용할 때, 그것은 로컬 호스트를 포함하여 전체 요청 URL을 출력합니다 -하지만하지 않는 경우 나는 브라우저를 사용하거나 말아.

인코딩, 사용자 에이전트 또는 요청 유형과 관련 있다고 가정합니다.

답변

0

요청에 익숙하지는 않지만 인코딩 아이디어가 좋다고 생각합니다. 즉, 요청은 URL을 어떻게 든 처리 할 수 ​​있습니까? URL의 모든 내용을 직접 전달하는 대신 Requests docs에서 제안하는 내용을 시도해보세요.

request_params = { 'name_regex' : '', 'format' : 'json' } 
r = requests.get('http://localhost:8000/api/v1/host/', params = request_params)