I was able to run it and got a NOK from the server. The question is what did the server get? Can your server deal with chunked requests? gzip?
On Wednesday, March 17, 2021 at 7:28:48 AM UTC+2 [email protected] wrote: > No problem! > > > On Tuesday, March 16, 2021 at 11:03:16 PM UTC-4 Shai Almog wrote: > >> I'll look into it. It works in the simulator but I have a couple of >> issues with my environment so it will take me. a couple of days to >> reproduce it on a device. >> >> On Tuesday, March 16, 2021 at 11:37:29 PM UTC+2 [email protected] wrote: >> >>> >>> BTW, It seems to work ok on the android device. >>> On Tuesday, March 16, 2021 at 5:13:30 PM UTC-4 Dennis Rogers wrote: >>> >>>> The URL is wrong. It should be: "https://symdesigns.com/php/export.php >>>> ". >>>> With that change your test code seems to work ok on the simulator >>>> (returns ok) but >>>> on the device it doesn't (returns nok); When I look at the server logs >>>> it still seems to receive >>>> a blank email and password when run from the device. >>>> On Monday, March 15, 2021 at 10:40:12 PM UTC-4 Shai Almog wrote: >>>> >>>>> I ran this test case but I'm getting an error from the server in the >>>>> "success" dialog: >>>>> >>>>> Form hi = new Form("Hi World", BoxLayout.y()); >>>>> Button test = new Button("Test"); >>>>> hi.add(test); >>>>> test.addActionListener(e -> { >>>>> try { >>>>> URL url = new URL(" >>>>> https://symdesigns.com/symdesigns.com/php/export.php"); >>>>> URL.URLConnection link = url.openConnection(); >>>>> link.setDoOutput(true); >>>>> link.setDoInput(true); >>>>> OutputStream os = link.getOutputStream(); >>>>> os.write(("[email protected]\n").getBytes()); >>>>> os.write(("f47ba92cf7\n").getBytes()); >>>>> os.close(); >>>>> >>>>> InputStream is = link.getInputStream(); >>>>> String ans = Util.readToString(is); >>>>> >>>>> Dialog.show("Success", ans, "OK", null); >>>>> } catch(Exception err) { >>>>> Dialog.show("Error", err.toString(), "OK", null); >>>>> Log.p("URL error"); >>>>> Log.e(err); >>>>> } >>>>> }); >>>>> >>>>> hi.show(); >>>>> >>>>> On Monday, March 15, 2021 at 4:04:23 PM UTC+2 [email protected] wrote: >>>>> >>>>>> "f47ba92cf7" is the hashed password i.e. >>>>>> >>>>>> "f47ba92cf7" = getHash("test2.xcom"+"pw2") >>>>>> >>>>>> The following is the getHash code I'm using: >>>>>> >>>>>> static String getHash(String str) { >>>>>> return dumpBytes(MD5.computeMD5(str.getBytes())).substring(0,10); >>>>>> } >>>>>> public static String dumpBytes(byte[] buffer) { >>>>>> if (buffer == null) { >>>>>> return ""; >>>>>> } >>>>>> StringBuilder sb = new StringBuilder(); >>>>>> sb.setLength(0); >>>>>> for (int i = 0; i < buffer.length; i++) { >>>>>> sb.append((char) (HEX_CHAR[(buffer[i] & 0x00F0) >> 4])) >>>>>> .append((char) (HEX_CHAR[buffer[i] & 0x000F])); >>>>>> } >>>>>> return sb.toString(); >>>>>> } >>>>>> >>>>>> BTW What time zone are you in? >>>>>> >>>>>> -Dennis >>>>>> On Sunday, March 14, 2021 at 10:08:01 PM UTC-4 Shai Almog wrote: >>>>>> >>>>>>> Thanks! >>>>>>> I'm trying to reproduce it and noticed I'm still missing the code of >>>>>>> getHash. >>>>>>> >>>>>>> On Sunday, March 14, 2021 at 5:18:47 PM UTC+2 [email protected] >>>>>>> wrote: >>>>>>> >>>>>>>> I forgot to tell you. The password "pw2" is hashed to "f47ba92cf7". >>>>>>>> >>>>>>>> On Sunday, March 14, 2021 at 11:12:37 AM UTC-4 Dennis Rogers wrote: >>>>>>>> >>>>>>>>> Sure, You can use "[email protected]" for the email (user id) and "pw2" >>>>>>>>> as the password. >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> On Saturday, March 13, 2021 at 10:03:59 PM UTC-5 Shai Almog wrote: >>>>>>>>> >>>>>>>>>> Thanks, is it possible to create a dummy username/password combo >>>>>>>>>> with no permissions so we can test this? >>>>>>>>>> >>>>>>>>>> On Saturday, March 13, 2021 at 2:59:16 PM UTC+2 [email protected] >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> The server URL is https://www.symdesigns.com. I have a web page >>>>>>>>>>> at symdesigns.com/ShoppingGenie/index.html and the server php >>>>>>>>>>> is /symdesigns.com/php/export.php . >>>>>>>>>>> >>>>>>>>>>> On Friday, March 12, 2021 at 11:45:51 PM UTC-5 Shai Almog wrote: >>>>>>>>>>> >>>>>>>>>>>> Interesting, can you expose the server URL so we can run this >>>>>>>>>>>> test case and see? >>>>>>>>>>>> >>>>>>>>>>>> On Friday, March 12, 2021 at 10:57:24 PM UTC+2 >>>>>>>>>>>> [email protected] wrote: >>>>>>>>>>>> >>>>>>>>>>>>> I switched to using Util.readToString() and still no joy on >>>>>>>>>>>>> the iphone device. >>>>>>>>>>>>> The code still works ok on the simulator and on also on a real >>>>>>>>>>>>> Android device. >>>>>>>>>>>>> >>>>>>>>>>>>> On Wednesday, March 10, 2021 at 10:28:42 PM UTC-5 Shai Almog >>>>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Try using String ans = Util.readToString(); which might be >>>>>>>>>>>>>> better. >>>>>>>>>>>>>> Is the code still working on the simulator after the changes? >>>>>>>>>>>>>> Is it working on Android? >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Wednesday, March 10, 2021 at 5:09:18 PM UTC+2 >>>>>>>>>>>>>> [email protected] wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Replacing flush() with close() didn't make a difference. >>>>>>>>>>>>>>> Here's the code I used without the buffer: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> os = link.getOutputStream(); >>>>>>>>>>>>>>> os.write((nemail + "\n").getBytes()); >>>>>>>>>>>>>>> pwHash = getHash(nemail + npasswd); >>>>>>>>>>>>>>> os.write((pwHash + "\n").getBytes()); >>>>>>>>>>>>>>> os.close(); >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> is = link.getInputStream(); >>>>>>>>>>>>>>> String ans = readLine(is); >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> static String readLine(InputStream stream) { >>>>>>>>>>>>>>> byte[] b = new byte[80]; >>>>>>>>>>>>>>> String s = ""; >>>>>>>>>>>>>>> int i = 0; >>>>>>>>>>>>>>> try { >>>>>>>>>>>>>>> b[i] = (byte) stream.read(); >>>>>>>>>>>>>>> while((b[i] != 10 && (b[i] != 13))) { >>>>>>>>>>>>>>> i++; >>>>>>>>>>>>>>> b[i] = (byte) stream.read(); >>>>>>>>>>>>>>> } >>>>>>>>>>>>>>> b[i] = 0; >>>>>>>>>>>>>>> return new String(b,0,i); >>>>>>>>>>>>>>> } catch(IOException e) { >>>>>>>>>>>>>>> Log.e(e); >>>>>>>>>>>>>>> return null: >>>>>>>>>>>>>>> } >>>>>>>>>>>>>>> } >>>>>>>>>>>>>>> On Tuesday, March 9, 2021 at 10:23:18 PM UTC-5 Shai Almog >>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Can you include the full code after removing the buffers? >>>>>>>>>>>>>>>> Also try replacing flush() with close(). That might help. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Tuesday, March 9, 2021 at 3:31:25 PM UTC+2 >>>>>>>>>>>>>>>> [email protected] wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I'm able to access all the websites on that IP from the >>>>>>>>>>>>>>>>> device. I also tried accessing the reply from the server >>>>>>>>>>>>>>>>> without the >>>>>>>>>>>>>>>>> BufferedInputStream with no luck. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> The certificate I used was one I bought from bluehost.com >>>>>>>>>>>>>>>>> who hosts my server. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Monday, March 8, 2021 at 9:51:04 PM UTC-5 Shai Almog >>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> With valid (not self signed) certificate? >>>>>>>>>>>>>>>>>> Is it a publicly visible IP accessible from the device? >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Monday, March 8, 2021 at 8:35:52 PM UTC+2 >>>>>>>>>>>>>>>>>> [email protected] wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Yes, the site is https. To make sure, I tested it using >>>>>>>>>>>>>>>>>>> the Qualys ssl checker and I access it with the https:// >>>>>>>>>>>>>>>>>>> prefix. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> --Dennis >>>>>>>>>>>>>>>>>>> On Sunday, March 7, 2021 at 9:42:05 PM UTC-5 Shai Almog >>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> I meant the Rest class. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Sorry I neglected to ask something basic. Is the URL >>>>>>>>>>>>>>>>>>>> HTTPS? >>>>>>>>>>>>>>>>>>>> If not iOS will fail by default. You can use this as a >>>>>>>>>>>>>>>>>>>> workaround: >>>>>>>>>>>>>>>>>>>> https://www.codenameone.com/blog/ios-http-urls.html >>>>>>>>>>>>>>>>>>>> On Sunday, March 7, 2021 at 7:13:46 PM UTC+2 >>>>>>>>>>>>>>>>>>>> [email protected] wrote: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Yes I'm using codename1.io.URL. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> On Sunday, March 7, 2021 at 11:46:23 AM UTC-5 Dennis >>>>>>>>>>>>>>>>>>>>> Rogers wrote: >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Sorry but I'm still having problems. I tried using >>>>>>>>>>>>>>>>>>>>>> unbuffered IO but with the same result (works on the >>>>>>>>>>>>>>>>>>>>>> simulator but not on >>>>>>>>>>>>>>>>>>>>>> the device). Also the code I sent you was followed by: >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> // Get buffered Input stream >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> is = link.getInputStream(); >>>>>>>>>>>>>>>>>>>>>> BufferedInputStream binp = new BufferedInputStream(is) >>>>>>>>>>>>>>>>>>>>>> ; >>>>>>>>>>>>>>>>>>>>>> // Get reply >>>>>>>>>>>>>>>>>>>>>> String ans = readLine(binp); >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> which I think would qualify as asking for a response >>>>>>>>>>>>>>>>>>>>>> from the server. BTW this is all being done on a >>>>>>>>>>>>>>>>>>>>>> separate thread. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> I'm learning about the REST protocol but think this >>>>>>>>>>>>>>>>>>>>>> should work. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> -Dennis >>>>>>>>>>>>>>>>>>>>>> On Saturday, March 6, 2021 at 9:32:02 PM UTC-5 Shai >>>>>>>>>>>>>>>>>>>>>> Almog wrote: >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Are you using com.codenameone.io.URL ? >>>>>>>>>>>>>>>>>>>>>>> I would recommend avoiding BufferedOutputStream in >>>>>>>>>>>>>>>>>>>>>>> Codename One as all streams are buffered by default in >>>>>>>>>>>>>>>>>>>>>>> Codename One. >>>>>>>>>>>>>>>>>>>>>>> You also need to fetch the result for the request to >>>>>>>>>>>>>>>>>>>>>>> finish. It won't happen until you try to get a response >>>>>>>>>>>>>>>>>>>>>>> from the server. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> I would recommend using APIs like the "Rest" API >>>>>>>>>>>>>>>>>>>>>>> which is simpler to use and doesn't require threading. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> On Saturday, March 6, 2021 at 11:24:53 PM UTC+2 >>>>>>>>>>>>>>>>>>>>>>> [email protected] wrote: >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> I have the following code that I use to send an >>>>>>>>>>>>>>>>>>>>>>>> email and password to my server. It works fine on the >>>>>>>>>>>>>>>>>>>>>>>> simulator but fails >>>>>>>>>>>>>>>>>>>>>>>> on an actual iphone (I receive a blank email and >>>>>>>>>>>>>>>>>>>>>>>> password): >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> try { >>>>>>>>>>>>>>>>>>>>>>>> URL url = new URL(*"server address"*); >>>>>>>>>>>>>>>>>>>>>>>> link = url.openConnection(); >>>>>>>>>>>>>>>>>>>>>>>> link.setDoOutput(true); >>>>>>>>>>>>>>>>>>>>>>>> link.setDoInput(true); >>>>>>>>>>>>>>>>>>>>>>>> } catch(URISyntaxException e) { >>>>>>>>>>>>>>>>>>>>>>>> Log.p("URL error"); >>>>>>>>>>>>>>>>>>>>>>>> Log.e(e); >>>>>>>>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>>>>>>>> // Get buffered output stream >>>>>>>>>>>>>>>>>>>>>>>> os = link.getOutputStream(); >>>>>>>>>>>>>>>>>>>>>>>> BufferedOutputStream bout = new >>>>>>>>>>>>>>>>>>>>>>>> BufferedOutputStream(os); >>>>>>>>>>>>>>>>>>>>>>>> // Send email and hashed Password >>>>>>>>>>>>>>>>>>>>>>>> bout.write((nemail + "\n").getBytes()); >>>>>>>>>>>>>>>>>>>>>>>> pwHash = getHash(nemail + npasswd); >>>>>>>>>>>>>>>>>>>>>>>> bout.write((pwHash + "\n").getBytes()); >>>>>>>>>>>>>>>>>>>>>>>> bout.flush(); >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Thanks, Dennis >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> -- You received this message because you are subscribed to the Google Groups "CodenameOne Discussions" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/codenameone-discussions/e9c296d4-51fa-4f4c-975a-49d3338f54f9n%40googlegroups.com.
