0

ファイルがあり、その内容を関数に送信する必要があります。私が現在行っていることは次のとおりです。

$ curl --data-urlencode "$( cat my_file.xml)" MyIP

# in function
def receiver(request):
    print request.POST

これは次のようなものを返します:

<QueryDict: {u'\ufeff<?xml version ': [u' "1.0" encoding = "UTF-8"?>\n<Orders>\n ...</Orders>']}>

つまり、curlコマンドはデータをdjango関数に正しく送信しています。ただし、POSTデータはrequest.POSTキー( `u'\ ufeff

さらに、xmlファイルが適切にURLエンコードされていないため、を使用できないと思いますcurl -d @file

'\ufeff<?xml version 'QueryDictキーとして使用しているようです。ここでファイルの内容を渡し、xmlを解析できるように、単一の文字列として取得するにはどうすればよいですか?

4

1 に答える 1

0

これには非常に簡単な(ハック)ソリューションがありますrequest.POST。dictで文字列連結を使用して、情報を再結合します。

contents = request.POST.keys()[0] + "=" + request.POST.values()[0]
于 2012-06-26T18:34:30.680 に答える