簡體   English   中英

python urllib2發布數據

[英]python urllib2 post data

我需要將一些數據傳遞給以下urllib2請求,

    handler = urllib2.HTTPSHandler()
    opener = urllib2.build_opener(handler)
    request = urllib2.Request(url)
    request.add_header("Accept",'application/*+xml;version=5.5')
    request.add_header("x-vcloud-authorization",authtoken)
    request.get_method = lambda: method
    data = "some XML request"
    try:
        connection = opener.open(request)
    except urllib2.HTTPError,e:
        connection = e

    if connection.code == 200:
        data = connection.read()
        #print "Data from Entity"
        #print "Data :", data
    else:
        print "ERROR", connection.code
        sys.exit(1)

connection = opener.open(request, data)

工作? 如果沒有,如何將數據傳遞給請求?

更新:

我想我可以這樣通過

request = urllib2.Request(url, data="some data")

您可以使用方法urllib2.Request.add_data:

request.add_header('xxxx', 'vvvv')
request.add_data('some XML request')
opener.open(request)

這會將其轉換為POST請求。

import urllib2
import json

# Whatever structure you need to send goes here:
jdata = json.dumps({"username":"...", "password":"..."})
urllib2.urlopen("http://www.example.com/", jdata)

但我建議您使用請求是處理http呼叫的最佳選擇。

暫無
暫無

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

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