Advertisement
Guest User

Untitled

a guest
Nov 29th, 2018
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. def curl_post(self, path, body=None, params=None, extra_headers=None, files=None):
  2. import pycurl
  3. from io import BytesIO
  4.  
  5. params = params or {}
  6. headers = {'Accept': 'application/json', 'User-Agent':self.SDK_VERSION, 'Content-type':'application/json'}
  7. if extra_headers:
  8. headers.update(extra_headers)
  9. uri = self.make_path(path)
  10.  
  11. curl_headers = []
  12. for key, value in headers.items():
  13. curl_headers.append('{}:{}'.format(key, value))
  14.  
  15. # PycURl
  16. full_url = os.path.join(uri, '?access_token={}'.format(params['access_token']))
  17.  
  18. curl = pycurl.Curl()
  19. data = BytesIO()
  20. curl.setopt(pycurl.URL, full_url)
  21. curl.setopt(pycurl.HTTPHEADER, curl_headers)
  22.  
  23. curl.setopt(pycurl.HTTPPOST, [
  24. ('file', (
  25. pycurl.FORM_FILE, files['fullpath']
  26. )),
  27. ])
  28. curl.setopt(pycurl.VERBOSE, 1)
  29. curl.setopt(pycurl.WRITEFUNCTION, data.write)
  30. curl.setopt(pycurl.FOLLOWLOCATION, 1)
  31. curl.setopt(pycurl.MAXREDIRS, 5)
  32.  
  33. curl.perform()
  34. curl.close()
  35.  
  36. print(data.getvalue())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement