[英]Alternative to requests.post function?
我不能使用python請求包(長話短說,假設我已經用盡了使用該包的所有可能性)
是否有替代軟件包可以提供以下代碼的確切功能?
import requests
requests.post(URL, data=DATA, auth=(USERNAME, PASSWORD), headers=HEADER)
如果由於模塊名稱而引起的唯一問題是導入,則始終可以按完整路徑進行導入,也可以更改模塊搜索路徑並在導入后將其重置。 為了避免沖突,您可以將import requests as requests2
或類似的東西。 有關第一個選項或有關搜索路徑的文檔,請參見以下問題。
https://docs.python.org/2/tutorial/modules.html#the-module-search-path
另一種方法,httplib的用法
import httplib
import urllib
from base64 import b64encode
# your form
form_data = {'a':1 'b':2}
params = urllib.urlencode(form_data)
# build authorization
user_and_pass = b64encode(b"username:password").decode("ascii")
# headers
headers = {'Authorization': 'Basic %s' % user_and_pass}
# connection
conn = httplib.HTTPConnection("example.com")
conn.request('POST', '/v3/call_api', params, headers)
# get result
response = conn.getresponse()
print response.status, response.reason
data = response.read()
conn.close()
“當提供data參數時,HTTP請求將是POST而不是GET。”
所以像(我將使用一個圖像示例,只是因為它太難以理解了):
import urllib
import urllib2
import numpy as np
import cv2
image_to_send = np.zeros(512, np.uint8)
buffer_image = \
np.array(cv2.imencode('.png', image_to_send)[1]).tostring()
post_data = \
urllib.urlencode((('img_type','.png'),('img_data',buffer_image)))
req = \
urllib2.urlopen('http://www.yourdestination.com/imageupload/', data=post_data)
如果要進行身份驗證,則需要將urllib.FancyURLopener
子類urllib.FancyURLopener
,並覆蓋prompt_user_passwd
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.