Return-Path: Mailing-List: contact commons-user-help@jakarta.apache.org; run by ezmlm Delivered-To: mailing list commons-user@jakarta.apache.org Received: (qmail 12100 invoked by uid 98); 5 Dec 2002 14:52:33 -0000 X-Antivirus: nagoya (v4218 created Aug 14 2002) Received: (qmail 12068 invoked from network); 5 Dec 2002 14:52:31 -0000 Received: from daedalus.apache.org (HELO apache.org) (63.251.56.142) by nagoya.betaversion.org with SMTP; 5 Dec 2002 14:52:31 -0000 Received: (qmail 1197 invoked by uid 500); 5 Dec 2002 14:51:24 -0000 Received: (qmail 1189 invoked from network); 5 Dec 2002 14:51:24 -0000 Received: from mail1.mh.se (193.10.250.34) by daedalus.apache.org with SMTP; 5 Dec 2002 14:51:24 -0000 Received: from ligur.student.mh.se (hinden-42.student.mh.se [10.251.0.42]) by mail1.mh.se (8.11.6/8.11.6) with ESMTP id gB5EpOK07377 for ; Thu, 5 Dec 2002 15:51:24 +0100 (MET) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by ligur.student.mh.se (Postfix) with ESMTP id D563CEC51D for ; Thu, 5 Dec 2002 15:50:21 +0100 (CET) Date: Thu, 5 Dec 2002 15:50:21 +0100 (CET) From: Joel Palmius X-X-Sender: joepal@ligur.student.mh.se To: Jakarta Commons Users List Subject: Re: [HttpClient] Using httpclient in applets (includes dirty fix) In-Reply-To: <0F7465D0-078F-11D7-AFE0-0003934D43BA@activemath.org> Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-83219968-716983890-1039099821=:13429" X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N ---83219968-716983890-1039099821=:13429 Content-Type: TEXT/PLAIN; charset=US-ASCII Attached is a quick and dirty fix for making HttpClient work in applets. I simply commented out the getProperties() calls and replaced them with setting the appropriate string to what was earlier in the default value part of the call. With the patch applied this code works in a JApplet: String docbase = this.getDocumentBase().toString(); URL url = new URL(docbase); String host = url.getHost(); String path = url.getPath(); System.out.println(docbase + " = " + host + " + " + path); HttpClient c = new HttpClient(); GetMethod g = new GetMethod(path); c.startSession(host,80); c.executeMethod(g); String response = g.getResponseBodyAsString(); System.out.println(response); In Mozilla's Java Console, the address and the contents of the page that started the applet are printed. Without the patch, an exception is thrown when trying to construct a new HttpClient object. This is obviously not a long-term viable fix, but it works for me, so I guess that it at least shows that it wouldn't be impossible to eventually build a good solution working for applets. I'll continue tinkering with it and get back if bother to write a better solution. :-) // Joel On Wed, 4 Dec 2002, Paul Libbrecht wrote: > I think your best attempt is to remove System.getProperties in the > source-code and try to patch things appropriately later (recompiling > cleanly and working on errors and follow-up). > > The consideration about using jakarta-commons things for applet is, I > believe, important and I wonder wether some kind of flag as to wether a > library is or is not applet-compatible would make a lot of sense. > (there used to be a time when this was in the faq and demos of most > projects). > > Paul ---83219968-716983890-1039099821=:13429 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="appletfix.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="appletfix.patch" ZGlmZiAtTnJjIC0tZXhjbHVkZT0nKn4nIC0tZXhjbHVkZT0nKi5jbGFzcycg Y29tbW9ucy1odHRwY2xpZW50LTIwMDIxMjAyL3NyYy9vcmcvYXBhY2hlL2Nv bW1vbnMvaHR0cGNsaWVudC9BdXRoZW50aWNhdG9yLmphdmEgY29tbW9ucy1o dHRwY2xpZW50LW1vZGlmaWVkL3NyYy9vcmcvYXBhY2hlL2NvbW1vbnMvaHR0 cGNsaWVudC9BdXRoZW50aWNhdG9yLmphdmENCioqKiBjb21tb25zLWh0dHBj bGllbnQtMjAwMjEyMDIvc3JjL29yZy9hcGFjaGUvY29tbW9ucy9odHRwY2xp ZW50L0F1dGhlbnRpY2F0b3IuamF2YQkyMDAyLTEyLTAyIDExOjE1OjQxLjAw MDAwMDAwMCArMDEwMA0KLS0tIGNvbW1vbnMtaHR0cGNsaWVudC1tb2RpZmll ZC9zcmMvb3JnL2FwYWNoZS9jb21tb25zL2h0dHBjbGllbnQvQXV0aGVudGlj YXRvci5qYXZhCTIwMDItMTItMDUgMTU6MjQ6NTYuMDAwMDAwMDAwICswMTAw DQoqKioqKioqKioqKioqKioNCioqKiA2NTYsNjY2ICoqKioNCiAgDQogICAg ICAgICAgLy8gY2hlY2sgdGhlIHByZWVtcHRpdmUgcG9saWN5DQogICAgICAg ICAgLy8gVE9ETzogdGhpcyBuZWVkcyB0byBiZSBhIHNlcnZpY2UgZnJvbSBz b21lIGNvbmZpZ3VyYXRpb24gY2xhc3MNCiEgICAgICAgICBTdHJpbmcgcHJl ZW1wdGl2ZURlZmF1bHQgPQ0KICAgICAgICAgICAgICBTeXN0ZW0uZ2V0UHJv cGVydGllcygpLmdldFByb3BlcnR5KFBSRUVNUFRJVkVfUFJPUEVSVFksDQoh ICAgICAgICAgICAgICAgICAgICAgUFJFRU1QVElWRV9ERUZBVUxUKTsNCiEg ICAgICAgICBwcmVlbXB0aXZlRGVmYXVsdCA9IHByZWVtcHRpdmVEZWZhdWx0 LnRyaW0oKS50b0xvd2VyQ2FzZSgpOw0KICANCiAgICAgICAgICBpZiAoIShw cmVlbXB0aXZlRGVmYXVsdC5lcXVhbHMoInRydWUiKQ0KICAgICAgICAgICAg ICAgICAgICAgIHx8IHByZWVtcHRpdmVEZWZhdWx0LmVxdWFscygiZmFsc2Ui KSkpIHsgLy8gcHJvcGVydHkgcHJvYmxlbQ0KICAgICAgICAgICAgICBsb2cu d2FybigiQ29uZmlndXJhdGlvbiBwcm9wZXJ0eSAiICsgUFJFRU1QVElWRV9Q Uk9QRVJUWQ0KLS0tIDY1Niw2NzEgLS0tLQ0KICANCiAgICAgICAgICAvLyBj aGVjayB0aGUgcHJlZW1wdGl2ZSBwb2xpY3kNCiAgICAgICAgICAvLyBUT0RP OiB0aGlzIG5lZWRzIHRvIGJlIGEgc2VydmljZSBmcm9tIHNvbWUgY29uZmln dXJhdGlvbiBjbGFzcw0KISAJDQohIAkvLyBKUDogZ2V0UHJvcGVydGllcyBp cyBmb3JiaWRkZW4gd2hlbiBpbiBhcHBsZXRzLg0KISAgICAgICAgIFN0cmlu ZyBwcmVlbXB0aXZlRGVmYXVsdCA9IFBSRUVNUFRJVkVfREVGQVVMVDsNCiEg DQohICAgICAgICAgLyogU3RyaW5nIHByZWVtcHRpdmVEZWZhdWx0ID0NCiAg ICAgICAgICAgICAgU3lzdGVtLmdldFByb3BlcnRpZXMoKS5nZXRQcm9wZXJ0 eShQUkVFTVBUSVZFX1BST1BFUlRZLA0KISAgICAgICAgICAgICAgICAgICAg IFBSRUVNUFRJVkVfREVGQVVMVCk7ICovDQogIA0KKyAgICAgICAgIHByZWVt cHRpdmVEZWZhdWx0ID0gcHJlZW1wdGl2ZURlZmF1bHQudHJpbSgpLnRvTG93 ZXJDYXNlKCk7IA0KKyAJDQogICAgICAgICAgaWYgKCEocHJlZW1wdGl2ZURl ZmF1bHQuZXF1YWxzKCJ0cnVlIikNCiAgICAgICAgICAgICAgICAgICAgICB8 fCBwcmVlbXB0aXZlRGVmYXVsdC5lcXVhbHMoImZhbHNlIikpKSB7IC8vIHBy b3BlcnR5IHByb2JsZW0NCiAgICAgICAgICAgICAgbG9nLndhcm4oIkNvbmZp Z3VyYXRpb24gcHJvcGVydHkgIiArIFBSRUVNUFRJVkVfUFJPUEVSVFkNCmRp ZmYgLU5yYyAtLWV4Y2x1ZGU9Jyp+JyAtLWV4Y2x1ZGU9JyouY2xhc3MnIGNv bW1vbnMtaHR0cGNsaWVudC0yMDAyMTIwMi9zcmMvb3JnL2FwYWNoZS9jb21t b25zL2h0dHBjbGllbnQvSHR0cE1ldGhvZEJhc2UuamF2YSBjb21tb25zLWh0 dHBjbGllbnQtbW9kaWZpZWQvc3JjL29yZy9hcGFjaGUvY29tbW9ucy9odHRw Y2xpZW50L0h0dHBNZXRob2RCYXNlLmphdmENCioqKiBjb21tb25zLWh0dHBj bGllbnQtMjAwMjEyMDIvc3JjL29yZy9hcGFjaGUvY29tbW9ucy9odHRwY2xp ZW50L0h0dHBNZXRob2RCYXNlLmphdmEJMjAwMi0xMi0wMiAxMToxNTo0MS4w MDAwMDAwMDAgKzAxMDANCi0tLSBjb21tb25zLWh0dHBjbGllbnQtbW9kaWZp ZWQvc3JjL29yZy9hcGFjaGUvY29tbW9ucy9odHRwY2xpZW50L0h0dHBNZXRo b2RCYXNlLmphdmEJMjAwMi0xMi0wNSAxNDo1NDo1MS4wMDAwMDAwMDAgKzAx MDANCioqKioqKioqKioqKioqKg0KKioqIDE3NCwxODQgKioqKg0KICANCiAg ICAgIC8qKiBUaGUgVXNlci1BZ2VudCBoZWFkZXIgc2VudCBvbiBldmVyeSBy ZXF1ZXN0LiAqLw0KICAgICAgcHJvdGVjdGVkIHN0YXRpYyBmaW5hbCBIZWFk ZXIgVVNFUl9BR0VOVDsNCiEgDQogICAgICBzdGF0aWMgew0KISAgICAgICAg IFN0cmluZyBhZ2VudCA9IFN5c3RlbS5nZXRQcm9wZXJ0aWVzKCkNCiEgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0UHJvcGVydHkoImh0dHBj bGllbnQudXNlcmFnZW50IiwgDQohICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJKYWthcnRhIENvbW1vbnMtSHR0cENsaWVu dC8yLjBNMSIpOw0KICAgICAgICAgIFVTRVJfQUdFTlQgPSBuZXcgSGVhZGVy KCJVc2VyLUFnZW50IiwgYWdlbnQpOw0KICAgICAgfQ0KICANCi0tLSAxNzQs MTg0IC0tLS0NCiAgDQogICAgICAvKiogVGhlIFVzZXItQWdlbnQgaGVhZGVy IHNlbnQgb24gZXZlcnkgcmVxdWVzdC4gKi8NCiAgICAgIHByb3RlY3RlZCBz dGF0aWMgZmluYWwgSGVhZGVyIFVTRVJfQUdFTlQ7DQohICAgICANCiAgICAg IHN0YXRpYyB7DQohICAgICAgICAgLy8gISEhIGdldFByb3BlcnRpZXMgZm9y YmlkZGVuIGluIEFwcGxldHMgISEhDQohIAkvLyBTdHJpbmcgYWdlbnQgPSBT eXN0ZW0uZ2V0UHJvcGVydGllcygpLmdldFByb3BlcnR5KCJodHRwY2xpZW50 LnVzZXJhZ2VudCIsICJKYWthcnRhIENvbW1vbnMtSHR0cENsaWVudC8yLjBN MSIpOwkNCiEgICAgICAgICBTdHJpbmcgYWdlbnQgPSAiSmFrYXJ0YSBDb21t b25zLUh0dHBDbGllbnQvMi4wTTEiOw0KICAgICAgICAgIFVTRVJfQUdFTlQg PSBuZXcgSGVhZGVyKCJVc2VyLUFnZW50IiwgYWdlbnQpOw0KICAgICAgfQ0K ICANCg== ---83219968-716983890-1039099821=:13429--