Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 带有XML数据的HTTP POST在Django中不起作用_Python_Django_Django Piston - Fatal编程技术网

Python 带有XML数据的HTTP POST在Django中不起作用

Python 带有XML数据的HTTP POST在Django中不起作用,python,django,django-piston,Python,Django,Django Piston,我用django活塞实现了API,它从sms/mms获取数据。对于彩信,我必须将XML数据与图像等一起发布。这是我在handlers.py上的代码片段 def create(self, request,*args,**kwagrs): try: file_type = None raw_data = request.raw_post_data data = serializers.dese

我用django活塞实现了API,它从
sms/mms
获取数据。对于彩信,我必须将XML数据与图像等一起发布。这是我在handlers.py上的代码片段

def create(self, request,*args,**kwagrs):
    try:
      file_type = None                
      raw_data = request.raw_post_data                
      data = serializers.deserialize("xml", raw_data)     
      try:                  
        parser = Parse(data.stream.getvalue())
        message = parser.get_message()                
        action_id = parser.get_action_id()                    
      except Exception,e:              
        return HttpResponse(Response({'sender':parser.get_sender(),'error_description':str(e)}).get_error_response(), mimetype='text/xml')                     

      if action_id in ['o','m','vt','vh','yritys']:
         return self.post_message(request,parser)
      elif action_id == 'poista' or action_id == 'lopeta':
         return self.expired_message(request,parser)
      elif action_id == 'tiedot':
         return self.get_contact_info(request,parser)            
  except Exception,e:
      ad_id = None
      return HttpResponse(Response({'sender':parser.get_sender(),'error_description':str(e)}).get_error_response(), mimetype='text/xml')
当我使用
CURL
发布
xml数据时,它可以正常工作,但当我使用
Firefox
时,
httprequester
它会抛出我
“坏请求”

尝试API测试。检查你的帖子数据。如果需要,设置标题信息

检查以下内容:

将中间件创建为:

class ContentTypeMiddleware(object):

    def process_request(self, request):
        if 'charset=UTF-8' in request.META['CONTENT_TYPE']:
            request.META['CONTENT_TYPE'] = request.META['CONTENT_TYPE'].replace('; charset=UTF-8','')
        return None
将其添加到设置中:

中间件\u类=( “app.middleware.ContentTypeMiddleware”,
)

检查发布时返回的400(使用Firebug或Chrome/Safari web inspector)。这可能是因为您发送了不适当的参数-活塞应该为您提供某种deedbackwell api,我正在使用httpRequester发布此消息,那么我如何使用Firebug检查此消息?请建议。