Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 7 of 7 total
Thread HTTP 404 recource not found
Fri, May 12 2017 3:16 AMPermanent Link

Michael Dreher

One of our customer has files containing "Left Double Quotation Marks" in the filename like this
 - FA._Montage_Ausgleichsstreifen_(farbig)_ 2.5“_HDD_320GB_V1.pdf
These files, when requestet from a link, result in a "HTTP 404 recource not found". The Left Double Quotation Mark mapped in Unicode is decimal 8220.

My short filename example is
 2.5“HDD.txt

URL-encode this:
 2.5%E2%80%9CHDD.txt
Decoding it back (with a programm or an online URL decoder/encoder service) results in the origin filename.

When requesting the (URL encoded) link with Firefox from the running IDE, I can read
 Resource /2.5â not found
in the body text of the response (screenshot). The character â (hex 0xE2) here is different from “ (hex 0x93). May be that's the reason why the HTTP-Server can't locate the requested rescourece.
Is the problem solvable? Thanks for replies.

Michael Dreher



Attachments: LeftDoubleQuotationMark.jpg
Fri, May 12 2017 4:31 AMPermanent Link

Matthew Jones

Michael Dreher wrote:

> when requested from a link

Could you give more detail of the exact situation please? Is this a TLink in a WebBuilder application running in the browser? What is the value that is put into the URL, and what is actually showing as the URL in the browser. Have you looked at the inspector? What is sent from the server, and what server is it?


--

Matthew Jones
Fri, May 12 2017 5:24 AMPermanent Link

Michael Dreher

"Matthew Jones" wrote:

 // Could you give more detail of the exact situation please?...

Sure. It' a WebBuilder application requesting a rescource with a TLink's URL from the WebBuilder HTTP server, in this case the server in the IDE. The code:

type TForm1 = class(TForm)
     link2: TLink;
  end;

implementation
var f1 : string = '2.5“HDD.txt';

procedure TForm1.Form1Create(Sender: TObject);
begin
 link2.URL := EncodeURI(f1);
end;

The file 2.5“HDD.txt is located in the output path. The HTTP request is...

GET http://localhost/2.5%E2%80%9CHDD.txt HTTP/1.1
Accept: text/html, application/xhtml+xml, image/jxr, */*
Accept-Language: de-DE
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
Accept-Encoding: gzip, deflate
Host: localhost
Connection: Keep-Alive

...and the HTTP response...

HTTP/1.1 404 Error
Date: Fri, 12 May 2017 09:06:40 GMT
From:
Server: Internal Web Server
Connection: Keep-Alive
Cache-Control: no-cache
Content-Type: text/html; charset=utf-8
Content-Length: 25

Resource /2.5â not found

 // ...and what is actually showing as the URL in the browser

See my screenshot above.

Michael Dreher
Fri, May 12 2017 6:05 AMPermanent Link

Matthew Jones

Michael Dreher wrote:

> Server: Internal Web Server

Okay, so the issue is all down to the web server not processing it properly. Report it directly to Tim I suggest.

--

Matthew Jones
Mon, May 15 2017 2:34 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Michael,

<< One of our customer has files containing "Left Double Quotation Marks" in the filename like this
- FA._Montage_Ausgleichsstreifen_(farbig)_ 2.5“_HDD_320GB_V1.pdf .... >>

And you're using the 2.06 EWB Web Server, correct ?

Tim Young
Elevate Software
www.elevatesoft.com
Tue, May 16 2017 7:20 AMPermanent Link

Michael Dreher

Tim Young [Elevate Software] wrote:

 // And you're using the 2.06 EWB Web Server, correct ?

Correct. On requesting the file
  2.5“HDD.txt
there is a file system access
 2.5â
from the 2.06 EWB Web Server (the screenshot below shows ewbide, but it's the same using the stand alone web server).

Michael Dreher



Attachments: ScreenShot.jpg
Wed, May 17 2017 4:42 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Michael,

<< Correct. On requesting the file
  2.5“HDD.txt
there is a file system access
 2.5â
from the 2.06 EWB Web Server (the screenshot below shows ewbide, but it's the same using the stand alone web server). >>

Okay, this is now fixed and the fix will be in 2.06 B2.  It was a weird one that revolved around an implicit Unicode<->Ansi character conversion bug.  The problem was that a lot of time the code would work, whereas certain characters would not.  I guess that Embarcadero is right to have those compiler warnings in there... Wink

Tim Young
Elevate Software
www.elevatesoft.com
Image