httplib AttributeError

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Tina

Montag 13. Juni 2005, 16:27

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)
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Mittwoch 15. Juni 2005, 11:13

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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Tina

Donnerstag 16. Juni 2005, 13:42

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
Antworten