Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.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 如何使用urllib2发送数据和自定义标题_Python_Json_Urllib2_Urllib - Fatal编程技术网

Python 如何使用urllib2发送数据和自定义标题

Python 如何使用urllib2发送数据和自定义标题,python,json,urllib2,urllib,Python,Json,Urllib2,Urllib,您好,我正在使用urrlib2向链接发送一些数据和自定义标题。我收到500个内部服务器错误。我已经联系了服务,他们说数据(json数据)是正确的,但我的python代码中有一些错误。我做错了什么? 下面是代码 import urllib2,urllib import json PREPAYMENT_URL = "https://services.gharpay.in/rest/GharpayService/" PREPAYMENT_USERNAME = "somename" PREPAYME

您好,我正在使用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.

您的代码非常完美,除了一个细微的细节:

标题应为内容类型,而不是内容类型


也许可以尝试更改此标题,并让我知道它是否有效

我看不出请求代码有任何问题。您必须在服务器端获取更多详细信息,以查看实际发生的故障(在服务器上!)。哦。。。谢谢如果不是这样的话,我不知道怎么了。代码看起来不错。