Issue222816
Created on 2000-11-18.19:09:11 by bckfnn, last changed 2000-12-05.19:27:27 by bckfnn.
History | |||
---|---|---|---|
Date | User | Action | Args |
2000-11-18 19:09:11 | bckfnn | create |
Created on 2000-11-18.19:09:11 by bckfnn, last changed 2000-12-05.19:27:27 by bckfnn.
Messages | |||
---|---|---|---|
msg71 (view) | Author: Finn Bock (bckfnn) | Date: 2000-11-18.19:09:11 | |
In CPython, the read () method of file objects is stated to return the entire contents of the file. When similar code is run under JPython, however, it frequently only seems to return part of the file. It's as if it relies on the Java "read (buffer)" API which is not guaranteed to actually read the entire file, but never checks the results. The best way to test this appears to be to try loading a reasonably long page over a network connection, as this is most likely to cause the JPython code to fail. For Example: slashdotfile = urllib.urlopen ('http://www.slashdot.org/') page = slashdotfile.read () print page This will almost always only get about half the page under JPython. |
|||
msg72 (view) | Author: Finn Bock (bckfnn) | Date: 2000-11-26.15:20:30 | |
The original problem is solved, but using the new httplob from CPython2.0 causes a new bug. The socket gets closed right after reading the response with HTTP.getresponse(). The body will then be read through a dup'ed fd with sock.makefile(). Jython does not support the dupping. When the socket is closed, the sock.makefile file is close closed. |
|||
msg73 (view) | Author: Finn Bock (bckfnn) | Date: 2000-12-05.19:27:27 | |
Fixed in Lib/socket.py revision: 1.8. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2000-11-18 19:09:11 | bckfnn | create |
Supported by Python Software Foundation,
Powered by Roundup