我目前使用PycURL通過發佈到某個URL來觸發Jenkins中的構建。相關代碼如下:如何使用標準Python庫通過HTTP發佈文件
curl = pycurl.Curl()
curl.setopt(pycurl.URL, url)
# These are the form fields expected by Jenkins
data = [
("name", "CI_VERSION"),
("value", str(version)),
("name", "integration.xml"),
("file0", (pycurl.FORM_FILE, metadata_fpath)),
("json", "{{'parameter': [{{'name': 'CI_VERSION', 'value':"
"'{0}'}}, {{'name': 'integration.xml', 'file': 'file0'}}]}}".
format(version,)),
("Submit", "Build"),
]
curl.setopt(pycurl.HTTPPOST, data)
curl.perform()
正如你所看到的,後參數(「file0」)中的一個文件,通過參數類型pycurl.FORM_FILE所示。
如何用標準Python庫替換PycURL的使用?
是純粹的Python包好的還是你真的想單獨使用標準庫? –
@PiotrDobrogost嗯,這個問題真的是關於標準庫,但我想你可以發佈一個純Python解決方案作爲參考。我可以用[請求](http://python-requests.org)庫自己解決問題。 – aknuds1
這就是我想推薦的。請參閱[使用POST腳本從Python腳本發送文件](http://stackoverflow.com/q/68477/95735) –