当前位置: 首页>>代码示例>>Python>>正文


Python HTTP.send方法代码示例

本文整理汇总了Python中httplib.HTTP.send方法的典型用法代码示例。如果您正苦于以下问题:Python HTTP.send方法的具体用法?Python HTTP.send怎么用?Python HTTP.send使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在httplib.HTTP的用法示例。


在下文中一共展示了HTTP.send方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: doLookup

# 需要导入模块: from httplib import HTTP [as 别名]
# 或者: from httplib.HTTP import send [as 别名]
def doLookup(cellId, lac, host="www.google.com", port=80):
    from string import replace
    from struct import unpack
    page = "/glm/mmap"
    http = HTTP(host, port)
    result = None
    errorCode = 0

    content_type, body = encode_request(cellId, lac)
    http.putrequest('POST', page)
    http.putheader('Content-Type', content_type)
    http.putheader('Content-Length', str(len(body)))
    http.endheaders()
    http.send(body)
    errcode, errmsg, headers = http.getreply()
    result = http.file.read()
    # be nice to the web service, will not pause on memoized coordinates
    time.sleep(0.75)
    # could need some modification to get the answer: here I just need
    # to get the 5 first characters
    if (errcode == 200):
        (a, b, errorCode, latitude, longitude, c, d, e) = unpack(">hBiiiiih",result)
        latitude = latitude / 1000000.0
        longitude = longitude / 1000000.0
    return latitude, longitude
开发者ID:geexercise,项目名称:cellocate,代码行数:27,代码来源:cellocate.py

示例2: grab_information

# 需要导入模块: from httplib import HTTP [as 别名]
# 或者: from httplib.HTTP import send [as 别名]
def grab_information(cid, lac, mnc=0, mcc=0):

	country = country_iso(mcc)

	v("Fetching latitude and longitude...")
	query = pack('>hqh2sh13sh5sh3sBiiihiiiiii',
		21, 0,
		len(country), country,
		len(__DEVICE__), __DEVICE__,
		len('1.3.1'), "1.3.1",
		len('Web'), "Web",
		27, 0, 0,
		3, 0, int(cid), int(lac), 0, 0, 0, 0)


	http = HTTP('www.google.com', 80)
	http.putrequest('POST', '/glm/mmap')
	http.putheader('Content-Type', 'application/binary')
	http.putheader('Content-Length', str(len(query)))
	http.endheaders()
	http.send(query)
	code, msg, headers = http.getreply()
	result = http.file.read()
 
	try:
		(a, b,errorCode, lat, lon, cov, d, e) = unpack(">hBiiiiih",result)
	except:
		a = 0
		b = 0
		errorCode = 0
		lat = 0
		lon = 0
		cov = 0
		d = 0
		e = 0
		pass

	v("a=%s, b=%s, errorCode=%s, cov=%s, d=%s, e=%s" % (str(a), str(b), errorCode, str(cov), str(d), str(e)))
	lat = lat / 1000000.0
	lon = lon / 1000000.0
	v("Here we go: %s and %s" % (lat, lon))
	


	geo_info = None
	geo_info_json = None
	geo_info = grab_geo_info(lat, lon)
	geo_info = grab_geo_info(-8.064159, -34.896666)
	print str(geo_info)
	geo_info_json = json.loads(geo_info)

	v("Geo Info: %s" % geo_info)
	v("Geo Info: %s" % str(geo_info_json))

	c = Cell(geo_info_json, lat, lon, cov)

	return c
开发者ID:LucaBongiorni,项目名称:cell-locator,代码行数:59,代码来源:celllocator.py

示例3: fetch_latlong_http

# 需要导入模块: from httplib import HTTP [as 别名]
# 或者: from httplib.HTTP import send [as 别名]
	def fetch_latlong_http(self, query):
	    http = HTTP('www.google.com', 80)
	    http.putrequest('POST', '/glm/mmap')
	    http.putheader('Content-Type', 'application/binary')
	    http.putheader('Content-Length', str(len(query)))
	    http.endheaders()
	    http.send(query)
	    code, msg, headers = http.getreply()
	    result = http.file.read()
	    return result
开发者ID:oulix,项目名称:shake4one,代码行数:12,代码来源:class.py

示例4: fetch_latlong_http

# 需要导入模块: from httplib import HTTP [as 别名]
# 或者: from httplib.HTTP import send [as 别名]
def fetch_latlong_http(query):
    http = HTTP("www.google.com", 80)
    http.putrequest("POST", "/glm/mmap")
    http.putheader("Content-Type", "application/binary")
    http.putheader("Content-Length", str(len(query)))
    http.endheaders()
    http.send(query)
    code, msg, headers = http.getreply()
    result = http.file.read()
    return result
开发者ID:321cyb,项目名称:small-projects,代码行数:12,代码来源:glm.py

示例5: fetch_id_from_Google

# 需要导入模块: from httplib import HTTP [as 别名]
# 或者: from httplib.HTTP import send [as 别名]
    def fetch_id_from_Google(self, cid, lac, country):
        latitude = 0
        longitude = 0
        device = "Motorola C123"
        country = Translator.Country[country]
        b_string = pack(
            ">hqh2sh13sh5sh3sBiiihiiiiii",
            21,
            0,
            len(country),
            country,
            len(device),
            device,
            len("1.3.1"),
            "1.3.1",
            len("Web"),
            "Web",
            27,
            0,
            0,
            3,
            0,
            cid,
            lac,
            0,
            0,
            0,
            0,
        )

        http = HTTP("www.google.com", 80)
        http.putrequest("POST", "/glm/mmap")
        http.putheader("Content-Type", "application/binary")
        http.putheader("Content-Length", str(len(b_string)))
        http.endheaders()
        http.send(b_string)
        code, msg, headers = http.getreply()
        try:
            bytes = http.file.read()
            (a, b, errorCode, latitude, longitude, c, d, e) = unpack(">hBiiiiih", bytes)
            latitude /= 1000000.0
            longitude /= 1000000.0
            status = CellIDDBStatus.CONFIRMED
        except:
            status = CellIDDBStatus.NOT_IN_DB

        return status, latitude, longitude
开发者ID:sikopet,项目名称:imsi-catcher-detection,代码行数:49,代码来源:cellIDDatabase.py

示例6: _post_multipart

# 需要导入模块: from httplib import HTTP [as 别名]
# 或者: from httplib.HTTP import send [as 别名]
 def _post_multipart(self, host, selector, fields, files):
   """
   Post fields and files to an http host as multipart/form-data.
   fields is a sequence of (name, value) elements for regular form fields.
   files is a sequence of (name, filename, value) elements for data to be uploaded as files
   Return the server's response page.
   """
   content_type, body = self._encode_multipart_formdata(files)
   h = HTTP(host)
   h.putrequest('POST', selector)
   h.putheader('content-type', content_type)
   h.putheader('content-length', str(len(body)))
   h.endheaders()
   h.send(body)
   errcode, errmsg, headers = h.getreply()
   logger.debug("File sent with error code " + str(errcode) + "; Message was: " + str(errmsg))
   return RequestResult(errcode, errmsg, h.file.read())
开发者ID:backmeup,项目名称:backmeup-prototype,代码行数:19,代码来源:REST.py

示例7: doLookup

# 需要导入模块: from httplib import HTTP [as 别名]
# 或者: from httplib.HTTP import send [as 别名]
def doLookup(cellId, lac, host = "www.google.com", port = 80):
  page = "/glm/mmap"
  http = HTTP(host, port)
  result = None
  errorCode = 0
  content_type, body = encode_request(cellId, lac)
  http.putrequest('POST', page)
  http.putheader('Content-Type', content_type)
  http.putheader('Content-Length', str(len(body)))
  http.endheaders()
  http.send(body)
  errcode, errmsg, headers = http.getreply()
  result = http.file.read()
  if (errcode == 200):
    (a, b,errorCode, latitude, longitude, accuracy, c, d) = unpack(">hBiiiiih",result)
    latitude = latitude / 1000000.0
    longitude = longitude / 1000000.0
  return latitude, longitude, accuracy
开发者ID:udit-gupta,项目名称:socialmaps,代码行数:20,代码来源:my_location.py

示例8: post_multipart

# 需要导入模块: from httplib import HTTP [as 别名]
# 或者: from httplib.HTTP import send [as 别名]
def post_multipart(host, port, selector, fields, files):
    content_type, body = encode_multipart_formdata(fields, files)
    h = HTTPConnection(host, port)
    h.putrequest('POST', selector)
    h.putheader('content-type', content_type)
    h.putheader('content-length', str(len(body)))
    h.endheaders()
    if _python2:
        h.send(body)
    else:
        h.send(body.encode('utf-8'))
    if _python2:
        errcode, errmsg, headers = h.getreply()
        if errcode != 200:
            raise HTTPException("%s: %s" % (errcode, errmsg))
        return h.file.read()
    else:
        res = h.getresponse()
        if res.status != 200:
            raise HTTPException("%s: %s" % (res.status, res.reason))
        return res.read()
开发者ID:bencer,项目名称:openchange,代码行数:23,代码来源:sqlite.py

示例9: send_request

# 需要导入模块: from httplib import HTTP [as 别名]
# 或者: from httplib.HTTP import send [as 别名]
 def send_request(self, request, response):
     h = HTTP(urlparse(request.uri)[1])  #TODO: split out port, userinfo
     h.putrequest(request.method, request.uri)
     for field_name, field_value in request.representation.headers.items():
         if field_name == "Content-Length": continue
         h.putheader(field_name, field_value.string)
     if request.representation.has_body:
         h.putheader('Content-Length', str(len(request.representation.body))) #FIXME: hmm. accesses body. options?
     h.putheader('User-Agent', self.user_agent) # FIXME: use header dict, don't override
     h.endheaders()
     if request.representation.has_body:
         h.send(request.representation.body) #FIXME: use iterator?
     status_code, status_phrase, headers = h.getreply()
     response_type = status.lookup.get(status_code, None)
     if response_type is not None:
         response.__class__ = response_type
     response.status_code = status_code
     response.status_phrase = status_phrase
     response.representation.headers.parseMessage(headers)  #FIXME: split entity and message hdrs
     response.representation._body_iter = h.getfile() #FIXME: iterator, shouldn't have to do this _ ...
     if not isinstance(response, status.Successful):
         raise response
开发者ID:mnot,项目名称:tarawa,代码行数:24,代码来源:httplib.py

示例10: __call__

# 需要导入模块: from httplib import HTTP [as 别名]
# 或者: from httplib.HTTP import send [as 别名]
    def __call__(self,*args,**kw):
        method=self.method
        if method=='PUT' and len(args)==1 and not kw:
            query=[args[0]]
            args=()
        else:
            query=[]
        for i in range(len(args)):
            try:
                k=self.args[i]
                if kw.has_key(k): raise TypeError, 'Keyword arg redefined'
                kw[k]=args[i]
            except IndexError:    raise TypeError, 'Too many arguments'

        headers={}
        for k, v in self.headers.items(): headers[translate(k,dashtrans)]=v
        method=self.method
        if headers.has_key('Content-Type'):
            content_type=headers['Content-Type']
            if content_type=='multipart/form-data':
                return self._mp_call(kw)
        else:
            content_type=None
            if not method or method=='POST':
                for v in kw.values():
                    if hasattr(v,'read'): return self._mp_call(kw)

        can_marshal=type2marshal.has_key
        for k,v in kw.items():
            t=type(v)
            if can_marshal(t): q=type2marshal[t](k,v)
            else: q='%s=%s' % (k,quote(v))
            query.append(q)

        url=self.rurl
        if query:
            query='&'.join(query)
            method=method or 'POST'
            if method == 'PUT':
                headers['Content-Length']=str(len(query))
            if method != 'POST':
                url="%s?%s" % (url,query)
                query=''
            elif not content_type:
                headers['Content-Type']='application/x-www-form-urlencoded'
                headers['Content-Length']=str(len(query))
        else: method=method or 'GET'

        if (self.username and self.password and
            not headers.has_key('Authorization')):
            headers['Authorization']=(
                "Basic %s" %
                encodestring('%s:%s' % (self.username,self.password)).replace(
                                     '\012','')
                )

        try:
            h=HTTP(self.host, self.port)
            h.putrequest(method, self.rurl)
            for hn,hv in headers.items():
                h.putheader(translate(hn,dashtrans),hv)
            h.endheaders()
            if query: h.send(query)
            ec,em,headers=h.getreply()
            response     =h.getfile().read()
        except:
            raise NotAvailable, RemoteException(
                NotAvailable,sys.exc_info()[1],self.url,query)
        if (ec - (ec % 100)) == 200:
            return (headers,response)
        self.handleError(query, ec, em, headers, response)
开发者ID:RadioFreeAsia,项目名称:Zope,代码行数:73,代码来源:Client.py

示例11: str

# 需要导入模块: from httplib import HTTP [as 别名]
# 或者: from httplib.HTTP import send [as 别名]
		('Accept-Language', 'en'),
		('Pragma', 'no-cache'),
		('Cache-Control', 'no-cache'),
		('User-Agent', 'Lynx/2.6  libwww-FM/2.14'),
		('From', '"a-fan" <[email protected]>'),
		('Referer', 'http://www.comcentral.com/mst/mstpoll.htm'),
		('Content-type', 'application/x-www-form-urlencoded'),
		('Content-length', '8')]

	text='vote=' + str(episode)

	n = n - 1
	h = HTTP('www.comcentral.com')
	h.debuglevel = 1
	h.putrequest('POST', '/cgi-bin/rbox/pollboy.pl')
	for (hn, hv) in headers:
		if (hn == 'From'):
			hv = 'user' + str(n) + '@blah.com'
		h.putheader(hn, hv)
		#print "hn:", hn, "hv:", hv

	h.endheaders()

	h.send(text)

	errcode, errmsg, headers = h.getreply()
	if errcode == 200:
		f = h.getfile()
		print f.read() # Print the raw HTML

开发者ID:davep-github,项目名称:My-warped-elisp,代码行数:31,代码来源:vote.py

示例12: __call__

# 需要导入模块: from httplib import HTTP [as 别名]
# 或者: from httplib.HTTP import send [as 别名]
    def __call__(self, *args, **kw):
        method = self.method
        if method == "PUT" and len(args) == 1 and not kw:
            query = [args[0]]
            args = ()
        else:
            query = []
        for i in range(len(args)):
            try:
                k = self.args[i]
                if kw.has_key(k):
                    raise TypeError, "Keyword arg redefined"
                kw[k] = args[i]
            except IndexError:
                raise TypeError, "Too many arguments"

        headers = {}
        for k, v in self.headers.items():
            headers[translate(k, dashtrans)] = v
        method = self.method
        if headers.has_key("Content-Type"):
            content_type = headers["Content-Type"]
            if content_type == "multipart/form-data":
                return self._mp_call(kw)
        else:
            content_type = None
            if not method or method == "POST":
                for v in kw.values():
                    if hasattr(v, "read"):
                        return self._mp_call(kw)

        can_marshal = type2marshal.has_key
        for k, v in kw.items():
            t = type(v)
            if can_marshal(t):
                q = type2marshal[t](k, v)
            else:
                q = "%s=%s" % (k, quote(v))
            query.append(q)

        url = self.rurl
        if query:
            query = join(query, "&")
            method = method or "POST"
            if method == "PUT":
                headers["Content-Length"] = str(len(query))
            if method != "POST":
                url = "%s?%s" % (url, query)
                query = ""
            elif not content_type:
                headers["Content-Type"] = "application/x-www-form-urlencoded"
                headers["Content-Length"] = str(len(query))
        else:
            method = method or "GET"

        if self.username and self.password and not headers.has_key("Authorization"):
            headers["Authorization"] = "Basic %s" % gsub(
                "\012", "", encodestring("%s:%s" % (self.username, self.password))
            )

        try:
            h = HTTP()
            h.connect(self.host, self.port)
            h.putrequest(method, self.rurl)
            for hn, hv in headers.items():
                h.putheader(translate(hn, dashtrans), hv)
            h.endheaders()
            if query:
                h.send(query)
            ec, em, headers = h.getreply()
            response = h.getfile().read()
        except:
            raise NotAvailable, RemoteException(NotAvailable, sys.exc_value, self.url, query)

        if ec == 200:
            return (headers, response)
        self.handleError(query, ec, em, headers, response)
开发者ID:BackupTheBerlios,项目名称:ebkus-svn,代码行数:79,代码来源:bci.py


注:本文中的httplib.HTTP.send方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。