Seite 1 von 1

httplib AttributeError

Verfasst: Montag 13. Juni 2005, 16:27
von Tina
Hallo,

vielleicht hat von euch schon mal jemand versucht, die Daten über ein Web- formular per Script zu holen, also sozusagen im Batch?
Bei manchen klappt das gut mit der Anleitung auf python.org, aber jetzt habe ich eins, da klappt es nicht und zwar ist die Fehlermeldung:
AttributeError: '_socketobject' object has no attribute '__nonzero__'

Der Aufruf sieht wie folgt aus:
urllib.urlopen( link, params) und funktioniert auch sonst. Hat jemand eine Idee, was ich mal versuchen könnte?

Danke!
Martina

Traceback (innermost last):

File "C:\Python24\Lib\urllib.py", line 79, in urlopen
return opener.open(url, data)
File "C:\Python24\Lib\urllib.py", line 182, in open
return getattr(self, name)(url, data)
File "C:\Python24\Lib\urllib.py", line 377, in open_https
errcode, errmsg, headers = h.getreply()
File "C:\Python24\Lib\httplib.py", line 1133, in getreply
response = self._conn.getresponse()
File "C:\Python24\Lib\httplib.py", line 868, in getresponse
self.close()
File "C:\Python24\Lib\httplib.py", line 630, in close
if self.sock:
File "C:\Python24\Lib\httplib.py", line 1050, in __getattr__
return getattr(self._sock, attr)

Re: httplib AttributeError

Verfasst: Mittwoch 15. Juni 2005, 11:13
von gerold
Tina hat geschrieben: vielleicht hat von euch schon mal jemand versucht, die Daten über ein Web- formular per Script zu holen, also sozusagen im Batch? Bei manchen klappt das gut mit der Anleitung auf python.org, aber jetzt habe ich eins, da klappt es nicht und zwar ist die Fehlermeldung:
AttributeError: '_socketobject' object has no attribute '__nonzero__'
Hi Martina!

Ich glaube kaum, dass sich jemand, ohne lange Recherche, vorstellen kann, wovon du sprichst.
(Beispiel, Quellangabe, ...)

mfg
Gerold
:-)

Verfasst: Donnerstag 16. Juni 2005, 13:42
von Tina
Hallo Gerold,

ich spreche von http://docs.python.org/lib/node478.html

>>> import urllib
>>> params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
>>> f = urllib.urlopen("http://www.musi-cal.com/cgi-bin/query", params)
>>> print f.read()

und ich habe auch den Fehler gefunden:
Es war eine Exception in WING, die ich ignorieren kann. Das ich keine Ergebnisse zurückbekomen habe, hatte damit ger nichts zu tun sondern lag daran, das die Site auch noch Informationen aus dem Cookie ausgelesen hat. Das muss man dann mit
http://docs.python.org/lib/cookielib-examples.html
lösen:

import cookielib, urllib2
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
r = opener.open("http://example.com/")

(falls mal jemand das gleiche Problem hat)
Grüße
Martina