簡體   English   中英

使用請求的發布請求問題Python lib和dicts

[英]Issue with post request using requests Python lib and dict of dicts

我是Python的新手,我需要構建一個Python庫,該庫連接到我們的API服務,發送一些json數據,一切正常,但有一件事情,我需要發送一些dict來執行POST請求:

    def create_project(self, project):
        print project
        params = simplejson.dumps(project)
        print params
        req = requests.post(self.url+'/projects/addSpeedy.json',
            data=params, 
            auth=HTTPBasicAuth(self.api_id, self.api_key),verify=False)
        data = simplejson.loads(req.text)
        return data

我傳遞給該函數的項目參數包含以下結構:

    script = {
        'part001': 'HI',
        'part002': 'WORLD'
    }
    project = {
        'title': 'Project posted from Python Carrot',
        'script': script,
        'remarks': "I want the voice be similar to Bugs Bunny.",
        'test': '1'
    }

但是,當執行請求時,API會告訴我缺少必填的“ title”字段,但是當在函數中打印數據時,一切似乎都很好,在這種情況下,我在請求站點中看到了dict json編碼: http: //docs.python-requests.org/en/latest/user/quickstart/#more-complicated-post-requests

我嘗試了混合結果的其他方式,但效果不如預期,這也不是API的問題,因為我們有其他語言的庫,而且效果很好。

很難猜測,如果沒有有關HTTP客戶端和服務器API的更多詳細信息,出了什么問題。 我首先嘗試調試的方法是搶電線並檢查,如果您生成的請求與通過其他客戶端的實現生成的請求相同,並回答以下問題:

  • 某些標頭不同嗎?
  • 是否正確指定了Content-Length和Content-Type?
  • 身份驗證是否成功,或者缺少標題的響應是否被普遍使用?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM