Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def __init__(self, username=None, password=None):
self.c = pycurl.Curl()
self.c.setopt(pycurl.POST, 1)
self.c.setopt(pycurl.HTTPHEADER, self.xmlrpc_h)
if username != None and password != None:
self.c.setopt(pycurl.USERPWD, '%s:%s' % (username, password))
# if no ca_certs file was specified, and require that if any
# request uses a custom ca_certs file, they all must.
pass
if request.allow_ipv6 is False:
# Curl behaves reasonably when DNS resolution gives an ipv6 address
# that we can't reach, so allow ipv6 unless the user asks to disable.
curl.setopt(pycurl.IPRESOLVE, pycurl.IPRESOLVE_V4)
else:
curl.setopt(pycurl.IPRESOLVE, pycurl.IPRESOLVE_WHATEVER)
# Set the request method through curl's irritating interface which makes
# up names for almost every single method
curl_options = {
"GET": pycurl.HTTPGET,
"POST": pycurl.POST,
"PUT": pycurl.UPLOAD,
"HEAD": pycurl.NOBODY,
}
custom_methods = set(["DELETE", "OPTIONS", "PATCH"])
for o in curl_options.values():
curl.setopt(o, False)
if request.method in curl_options:
curl.unsetopt(pycurl.CUSTOMREQUEST)
curl.setopt(curl_options[request.method], True)
elif request.allow_nonstandard_methods or request.method in custom_methods:
curl.setopt(pycurl.CUSTOMREQUEST, request.method)
else:
raise KeyError("unknown method " + request.method)
body_expected = request.method in ("POST", "PATCH", "PUT")
body_present = request.body is not None
def minerHiveOS(params):
params["public_key"] = PUBLIC_KEY
post_data = urllib.parse.urlencode(params)
HMAC = hmac.new(SECRET_KEY.encode(), post_data.encode(), hashlib.sha256).hexdigest()
curl = pycurl.Curl()
curl.setopt(pycurl.URL, URL)
curl.setopt(pycurl.HTTPHEADER, ['HMAC: ' + str(HMAC)])
curl.setopt(pycurl.POST, True)
curl.setopt(pycurl.POSTFIELDS, post_data)
curl.setopt(pycurl.CONNECTTIMEOUT, 10)
curl.setopt(pycurl.TIMEOUT, 5)
buf = io.BytesIO()
curl.setopt(pycurl.WRITEFUNCTION, buf.write)
try:
curl.perform()
response = buf.getvalue()
# Uncomment to debug raw JSON response
# self.__log("< " + response)
http_code = curl.getinfo(pycurl.HTTP_CODE)
curl.close()
result = json.loads(response)
return result
except pycurl.error:
randomint = random.randint(1000,9999)
postdata = 'pk='+imageid+'&t='+str(randomint)
buf = cStringIO.StringIO()
c = pycurl.Curl()
c.setopt(pycurl.URL, "http://web.stagram.com/do_like/")
c.setopt(pycurl.COOKIEFILE, "pycookie.txt")
c.setopt(pycurl.COOKIEJAR, "pycookie.txt")
c.setopt(pycurl.WRITEFUNCTION, buf.write)
c.setopt(pycurl.FOLLOWLOCATION, 1)
c.setopt(pycurl.ENCODING, "")
c.setopt(pycurl.SSL_VERIFYPEER, 0)
c.setopt(pycurl.SSL_VERIFYHOST, 0)
useragent = random.choice(browsers) + str(random.randrange(1,9)) + "." + str(random.randrange(0,50)) + " (" + random.choice(operatingsystems) + "; " + random.choice(operatingsystems) + "; rv:" + str(random.randrange(1,9)) + "." + str(random.randrange(1,9)) + "." + str(random.randrange(1,9)) + "." + str(random.randrange(1,9)) + ")"
c.setopt(pycurl.USERAGENT, useragent)
c.setopt(pycurl.POST, 1)
c.setopt(pycurl.POSTFIELDS, postdata)
c.setopt(pycurl.POSTFIELDSIZE, len(postdata))
#c.setopt(pycurl.VERBOSE, True)
c.perform()
postData = buf.getvalue()
buf.close()
if postData == '''{"status":"OK","message":"LIKED"}''':
likecount += 1
hashtaglikes += 1
print "You liked #"+tag+" image "+imageid+"! Like count: "+str(likecount)
repeat = False
sleepcount = 0
if sleeptimer > 0:
time.sleep(sleeptimer)
else:
sleepcount += 1
if not pycurl:
import pycurl
try: import cStringIO as StringIO
except: import StringIO
curl = pycurl.Curl()
if get_prefs('use_http_proxy'):
HTTP_PROXY = '%s:%s' % (get_prefs('http_proxy_host'), get_prefs('http_proxy_port'))
curl.setopt(pycurl.PROXY, HTTP_PROXY)
if header:
curl.setopt(pycurl.HTTPHEADER, [str(k) + ':' + str(v) for k, v in header.items()])
if post:
curl.setopt(pycurl.POST, 1)
if params:
if post:
curl.setopt(pycurl.POSTFIELDS, urllib.urlencode(params))
else:
url = "?".join((url, urllib.urlencode(params)))
curl.setopt(pycurl.URL, str(url))
if username and password:
curl.setopt(pycurl.USERPWD, "%s:%s" % (str(username), str(password)))
curl.setopt(pycurl.FOLLOWLOCATION, 1)
curl.setopt(pycurl.MAXREDIRS, 5)
curl.setopt(pycurl.TIMEOUT, 15)
curl.setopt(pycurl.CONNECTTIMEOUT, 8)
def add_data(self, data):
self.data = StringIO2()
self.data.write(data)
self.data.seek(-1)
self.c.setopt(pycurl.POST, 1)
self.c.setopt(self.c.READFUNCTION, self.data.read)
self.c.setopt(self.c.POSTFIELDSIZE, len(data))
def load(self, *args, **kwargs):
post = kwargs.get("post")
if post is None:
if len(args) > 2:
post = args[2]
if post:
self.http.c.setopt(pycurl.FOLLOWLOCATION, 0)
self.http.c.setopt(pycurl.POST, 1)
self.http.c.setopt(pycurl.CUSTOMREQUEST, "POST")
else:
self.http.c.setopt(pycurl.FOLLOWLOCATION, 1)
self.http.c.setopt(pycurl.POST, 0)
self.http.c.setopt(pycurl.CUSTOMREQUEST, "GET")
return Browser.load(self, *args, **kwargs)
def get_raw_poster(self):
"""Initialze a Curl object for a single POST request.
This sends whatever data you give it, without specifying the content
type.
Returns a tuple of initialized Curl and HTTPResponse objects.
"""
ld = len(self._data)
c = pycurl.Curl()
resp = HTTPResponse(self._encoding)
c.setopt(c.URL, str(self._url))
c.setopt(pycurl.POST, 1)
c.setopt(c.READFUNCTION, DataWrapper(self._data).read)
c.setopt(c.POSTFIELDSIZE, ld)
c.setopt(c.WRITEFUNCTION, resp._body_callback)
c.setopt(c.HEADERFUNCTION, resp._header_callback)
headers = self._headers[:]
headers.append(httputils.ContentType("")) # removes libcurl internal header
headers.append(httputils.ContentLength(str(ld)))
c.setopt(c.HTTPHEADER, map(str, headers))
self._set_common(c)
return c, resp
def post(self, cgi, params):
"Ship a POST request to a specified CGI, capture the response."
self.set_option(pycurl.POST, 1)
self.set_option(pycurl.POSTFIELDS, urllib_parse.urlencode(params))
return self.__request(cgi)
if not upload_url:
raise Exception("Unable to extract disk upload URL from HttpNfcLease")
self.log.debug("Extracted image upload URL (%s) from lease" % (upload_url))
lease_timeout = lease.info.leaseTimeout
self.time_at_last_poke = time()
image_file = open(imagefilename)
# Upload the image itself
image_size = os.path.getsize(imagefilename)
curl = pycurl.Curl()
curl.setopt(pycurl.URL, upload_url)
curl.setopt(pycurl.SSL_VERIFYPEER, 0)
curl.setopt(pycurl.POST, 1)
curl.setopt(pycurl.POSTFIELDSIZE, image_size)
curl.setopt(pycurl.READFUNCTION, image_file.read)
curl.setopt(pycurl.HTTPHEADER, ["User-Agent: Load Tool (PyCURL Load Tool)", "Content-Type: application/octet-stream"])
curl.setopt(pycurl.NOPROGRESS, 0)
curl.setopt(pycurl.PROGRESSFUNCTION, self.curl_progress)
curl.perform()
curl.close()
image_file.close()
lease.HttpNfcLeaseComplete()
vm = lease.info.entity
vm.MarkAsTemplate()