0

こんにちは、urrlib2 を使用して、データとカスタム ヘッダーをリンクに送信しています。500 内部サーバー エラーが発生しています。サービスに連絡したところ、データ (json データ) は正しいとのことですが、Python コードにエラーがあります。私は何を間違っていますか?以下はコードです。

import urllib2,urllib
import json

PREPAYMENT_URL = "https://services.gharpay.in/rest/GharpayService/" 
PREPAYMENT_USERNAME = "somename"
PREPAYMENT_PASSWORD = "somepass"

data = {
 "customerDetails":{
              "address": "ads",
              "contactNo": "9663924147",
              "email": "a@c.com",
              "firstName": "akash",
              "lastName": "deshpande",
              "prefix": "Mr."
            },

"orderDetails" : {
              "pincode": "411036",
              "clientOrderID": "21234",
              "deliveryDate": "13-10-2013",
              "orderAmount": "123",
              "clientComments": "please be carefull",
              "paymentMode": "Cash",
              "productDetails": {
              "productID": "21334",
              "productQuantity": "1",
              "unitCost": "123",
              "productDescription": "tshirt"
              },
              "templateID": ""
             },

}

def create(request): 

    function = 'createOrder'
    url = PREPAYMENT_URL
    url = url+ function
    headers= {'username':PREPAYMENT_USERNAME,'password':PREPAYMENT_PASSWORD,'Content-type':'application/json'}
    data1 = urllib.urlencode(data)
    req = urllib2.Request(url,data1,headers)
    try:
        contents = urllib2.urlopen(req).read()
    except urllib2.HTTPError as e:
        error_message = e.read()
        print error_message # this error message is being printed. It is showing 500 error.
4

1 に答える 1

1

あなたのコードは完璧です。

ヘッダーはContent-typeではなくContent -Typeである必要があります。

このヘッダーを変更してみて、うまくいくかどうか教えてください!

于 2013-04-23T11:49:51.533 に答える