2014-02-20 87 views
0

我希望使用python執行此操作。這是一個RESTful請求如何使用python執行此請求

curl -XPOST -u 'userid:password' -H 
    'Content-Type: application/json' -H 'X-Forwarded-For: 100.100.0.144' -k 
    'http://myurl 


    ' -d ' jsonObject 

我有什麼至今

import urllib2 

def make_payment_request(): 
    manager = urllib2.HTTPPasswordMgrWithDefaultRealm() 
    manager.add_password(None, 'https://url', 'userid', 'passwrd') 
    handler = urllib2.HTTPBasicAuthHandler(manager) 

    director = urllib2.OpenerDirector() 
    director.add_handler(handler) 

    req = urllib2.Request('https://url', headers = {'Accept' : 'application/json'}) 

    result = director.open(req) 


# To get say the content-length header 
    print "this is result",result 

我得到響應,None還如何添加JSONObject的所有與它

回答

0

使用requests

import requests 
import json 

url = 'http://myurl' 
headers = {'X-Forwarded-For': '100.100.0.144'} 
user = 'user' 
password = 'sekret' 
data = {'foo': 'bar'} 

r = requests.post(url, 
        data=json.dumps(data), auth=(user,password), headers=headers) 

I am getting 'requests.exceptions.SSLError: [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

就像網絡瀏覽器一樣,requests會嘗試驗證SSL。在瀏覽器中,當SSL未驗證時,您會收到警告,然後您可以繼續訪問該網站(如果您選擇)。

對於requests,您可以通過傳遞verify=False以忽略SSL驗證錯誤來實現此目的。

r = requests.post(url, verify=False, 
        data=json.dumps(data), auth=(user,password), headers=headers) 
+0

嗨請幫我解決錯誤500.是否意味着我們發送的everthing是好的? – onkar

+0

是的,這看起來像來自服務的錯誤。 –