「curl」コマンドでPOSTリクエストを正しく送信できません

「curl」コマンドでPOSTリクエストを正しく送信できません

私はDjangoプログラミングの初心者です。基本的なcurlコマンドをいくつか読んだ後、curlを使用してPythonサーバーに次のPOSTリクエストを送信しました。

curl --data "system_uuid=b28964bf-3e9e-47d7-af5e-4e221cc1a697&media_id=1&Status=1&upload_on=2013-12-04 17:15:32" http://127.0.0.1:8000/server/32/1001/2/

次のURLへ

from django.conf.urls.defaults import patterns
handler500 = 'django.views.defaults.server_error'
urlpatterns = patterns('server.views',
( r'^server/32/(?P<client_id>\d+)/(?P<msg_version>\d+)/$','check_media_status'),)

私のビュー「check_media_status」は次のようにシンプルです。

def check_media_status(request, client_id, msg_version ):
print "Request Accepted"
return http.HttpResponse("ok")

しかし、私のPythonサーバーでは次のエラーメッセージが常に表示されます

[21/Jul/2014 10:51:43] "POST /server/32/1001/2/ HTTP/1.1" 500 94027

私のDjangoバージョンは1.3.1、Pythonバージョンは2.7.3です

何が間違っているのか分かりません。:(

答え1

投稿データにスペースが含まれています。「+」に置き換えてください。正しくエンコードされるはずです。

関連情報