From: João on 14 Jan 2010 05:46 On Jan 12, 10:07 pm, r0g <aioe....(a)technicalbloke.com> wrote: > João wrote: > > On Jan 12, 8:05 pm, r0g <aioe....(a)technicalbloke.com> wrote: > >> João wrote: > >>> Someone please? > >> Haven't seen your original post yet mate, usenet can be flaky like that, > >> might have been a good idea to quote your original post! > > >> Roger. > > > Thanks Roger. > > >> João wrote: > >>> Someone please? > >>> Hi. > >>> I'm trying to figure out how to force URLencoding in my Python 2.4.3 > >>> environment, receiving data as an input argument but I'm really at a loss > >>> here. > > >>> What am I doing wrong? > > headers = { User-Agent : user_agent } > > Those quotes need to be either " or ' i.e. > > headers = { 'User-Agent' : user_agent } > > If that doesn't sort it then it would be helpful to see a traceback or, > if it is not crashing, get a description of how it is failing to do what > you expect. > > Cheers, > > Roger. Weird, I had the correct quotes in my script, maybe I've pasted with some error. This is my current script, (and though I got it working with the subprocess.call I don't know how to use a pure Python version. for the following data, authentication = "UID=somestring&" message = 'PROBLEM severity High: OperatorX Plat1(locationY) global Succ. : 94.470000%' dest_number = 'XXXXXXXXXXX' url_values = urlencode({'M':message}) enc_data = authentication + url_values + dest_number I'm getting null for full_url = Request(url, enc_data, headers) and thus, response = urlopen(full_url).read() returns, TypeError: <exceptions.TypeError instance at 0x2b4d88ec6440> ) #!/usr/bin/env python import sys import os import subprocess from urllib import urlencode, urlopen from urllib2 import Request destination = sys.argv[1] msg = sys.argv[2] authentication = "UID=somestring&" dest_number = "&N=%s" % destination message = '%s' % msg url_values = urlencode({'M':message}) enc_data = authentication + url_values + dest_number url = 'http://10.112.28.221:38080/GwHTTPin/sendtext' subprocess.call('echo "%s" | /usr/bin/POST -P "%s"' % (enc_data, url), shell=True)
From: r0g on 14 Jan 2010 12:58 Jo�o wrote: > On Jan 12, 10:07 pm, r0g <aioe....(a)technicalbloke.com> wrote: >> Jo�o wrote: > > for the following data, > authentication = "UID=somestring&" > message = 'PROBLEM severity High: OperatorX Plat1(locationY) global > Succ. : 94.470000%' > dest_number = 'XXXXXXXXXXX' > > url_values = urlencode({'M':message}) > enc_data = authentication + url_values + dest_number > > > I'm getting null for > full_url = Request(url, enc_data, headers) > > and thus, > response = urlopen(full_url).read() > returns, > TypeError: <exceptions.TypeError instance at 0x2b4d88ec6440> > > ) Are you sure it's returning a null and not just some other unexpected type? I think your problem may be that you are passing a urllib2 class to urllib(1)'s urlopen. Try using urllib2's urlopen instead e.g. import urllib2 request_object = urllib2.Request('http://www.example.com') response = urllib2.urlopen(request_object) the_page = response.read() Roger.
From: João on 15 Jan 2010 07:22 On Jan 14, 5:58 pm, r0g <aioe....(a)technicalbloke.com> wrote: > João wrote: > > On Jan 12, 10:07 pm, r0g <aioe....(a)technicalbloke.com> wrote: > >> João wrote: > > > for the following data, > > authentication = "UID=somestring&" > > message = 'PROBLEM severity High: OperatorX Plat1(locationY) global > > Succ. : 94.470000%' > > dest_number = 'XXXXXXXXXXX' > > > url_values = urlencode({'M':message}) > > enc_data = authentication + url_values + dest_number > > > I'm getting null for > > full_url = Request(url, enc_data, headers) > > > and thus, > > response = urlopen(full_url).read() > > returns, > > TypeError: <exceptions.TypeError instance at 0x2b4d88ec6440> > > > ) > > Are you sure it's returning a null and not just some other unexpected > type? > > I think your problem may be that you are passing a urllib2 class to > urllib(1)'s urlopen. Try using urllib2's urlopen instead e.g. > > import urllib2 > request_object = urllib2.Request('http://www.example.com') > response = urllib2.urlopen(request_object) > the_page = response.read() > > Roger. Thanks Roger. I think it's a null because i did a print(full_url) right after the Request I tried request_object = urllib2.Request('http://www.example.com') print(request_object) but when printing I get: <urllib2.Request instance at 0x2afaa2fe3f80> I've read about Python 2.4 not playing well with proxies even with no proxy activated. Any sugestion? Thanks again
From: João on 15 Jan 2010 07:24 EDIT: About the proxy. That's why I'm using the '-P' in the POST call. /usr/bin/POST -P
From: r0g on 15 Jan 2010 09:38 Jo�o wrote: > On Jan 14, 5:58 pm, r0g <aioe....(a)technicalbloke.com> wrote: >> Jo�o wrote: >>> On Jan 12, 10:07 pm, r0g <aioe....(a)technicalbloke.com> wrote: >>>> Jo�o wrote: >>> for the following data, >>> authentication = "UID=somestring&" >>> message = 'PROBLEM severity High: OperatorX Plat1(locationY) global >>> Succ. : 94.470000%' >>> dest_number = 'XXXXXXXXXXX' >>> url_values = urlencode({'M':message}) >>> enc_data = authentication + url_values + dest_number >>> I'm getting null for >>> full_url = Request(url, enc_data, headers) >>> and thus, >>> response = urlopen(full_url).read() >>> returns, >>> TypeError: <exceptions.TypeError instance at 0x2b4d88ec6440> >>> ) >> Are you sure it's returning a null and not just some other unexpected >> type? >> >> I think your problem may be that you are passing a urllib2 class to >> urllib(1)'s urlopen. Try using urllib2's urlopen instead e.g. >> >> import urllib2 >> request_object = urllib2.Request('http://www.example.com') >> response = urllib2.urlopen(request_object) >> the_page = response.read() >> >> Roger. > > Thanks Roger. > I think it's a null because i did a print(full_url) right after the > Request > I tried > request_object = urllib2.Request('http://www.example.com') > print(request_object) > > but when printing I get: <urllib2.Request instance at 0x2afaa2fe3f80> Hi Jo�o, That's exactly what you want, an object that is an instance of the Request class. That object doesn't do anything by itself, you still need to a) Connect to the server and request that URL and b) Read the data from the server. a) To connect to the web server and initialize the request you need to call urllib2.urlopen() with the Request object you just created and assign the result to a name e.g. >> response = urllib2.urlopen(request_object) That will give you an object (response) that you can call the .read() method of to get the web page data. >> the_page = response.read() If that doesn't make sense or seem to work for you then please try reading the following website from top to bottom before taking any further steps... http://www.voidspace.org.uk/python/articles/urllib2.shtml > > I've read about Python 2.4 not playing well with proxies even with no > proxy activated. > Any sugestion? I doubt any language can play well with proxies if there are none so I doubt it's a factor ;) Good luck, Roger.
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 Prev: setTextAlignment function Qtablewidget PyQt Next: pyserial: Unexpected Local Echo |