Urllib2/Pycurl/HTTP Speeds?

C

Chaos

For the Program I Am Making I Make Multiple HTTP Request to My Server.
I found that using urllib2 it was pretty slow, when I activated the
program and tested it it would hang from 2secs-5secs since I am doing
it multiple times I wanted to speed it up by using pycurl. But I got
the samething. Here is my code:

import urllib
import os.path
import cookielib
import pycurl
import StringIO

class GoToPage:
#HTTPHeaders = {'User-agent' : self.browser, 'Accept-Language:
en-us' : 'en-us', 'Accept-Encoding' : 'deflate'}
FireFox_15 = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6"
IE7_B2 = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1;
..NET CLR 1.1.4322)"
Opera_85 = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)
Opera 8.51"
IE6 = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"
Mozilla_17 = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US;
rv:1.7b) Gecko/20040404"
def __init__(self, myName):
self.browser = self.FireFox_15
self.lastPage = ""
self.cookies = ""
self.name = myName
self.wrapper = pycurl.Curl()

#self.wrapper.setopt(pycurl.AUTOREFERER, 0)
self.wrapper.setopt(pycurl.COOKIEFILE, self.name)
#self.cookieJar = cookielib.LWPCookieJar()
#if self.cookieJar != None:
# if os.path.isfile(self.name):
# self.cookieJar.load(self.name)
#self.opener =
urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cookieJar))
#urllib2.install_opener(self.opener)
return #end Function
def buildHeaders(self, browser, referer=""):
if referer != "":
buildHeaders = ['User-agent: ' + self.browser,
'Accept-Language: en-us', 'Accept-Encoding:
gzip,compress;q=0.9,deflate;q=0', 'Referer:' + referer]
else:
buildHeaders = ['User-agent: ' + self.browser,
'Accept-Language: en-us', 'Accept-Encoding:
gzip,compress;q=0.9,deflate;q=0']
return buildHeaders
def saveCookies(self, cookies):
fileHandle = open (self.name, 'w')
fileHandle.write (cookies)
fileHandle.close()
def GetPage(self, URL, referer=""):
theHeaders = self.buildHeaders(self.browser, referer)
returnVal = StringIO.StringIO()
self.wrapper.setopt(pycurl.URL, URL)
self.wrapper.setopt(pycurl.HTTPHEADER, theHeaders)
self.wrapper.setopt(pycurl.WRITEFUNCTION, returnVal.write)
self.wrapper.perform()
self.wrapper.close()
#self.saveCookies(self.wrapper.getinfo(pycurl.COOKIELIST))
#self.cookieJar.save(self.name)
return returnVal.getvalue()

def PostPage(self, URL, data, referer=""):
timer = wx.StopWatch()
theHeaders = self.buildHeaders(self.browser, referer)
print timer.Time()
timer.Start(0)
returnVal = StringIO.StringIO()
self.wrapper.setopt(pycurl.URL, URL)
self.wrapper.setopt(pycurl.POSTFIELDS, data)
self.wrapper.setopt(pycurl.HTTPHEADER, theHeaders)
self.wrapper.setopt(pycurl.WRITEFUNCTION, returnVal.write)
print str(timer.Time()) + ' before perform'
timer.Start(0)
self.wrapper.perform()
print str(timer.Time()) + ' after perform'
self.wrapper.close()
#self.saveCookies(self.wrapper.getinfo(pycurl.COOKIELIST))
#self.cookieJar.save(self.name)
return returnVal.getvalue()

The Urlib2 source is lost, and there are timer functions in there. I
call it like this

import GoToPage
newHTTP = GoToPage.GoToPage("name")
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

http post 2
pycurl and MAX_RECV_SPEED_LARGE 0
Need help with this script 4
urllib2 opendirector versus request object 0
Crawling 1
urllib2 - not returning page expected after post 1
urllib2 login help 1
ChatBot 4

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top