Oldes / Rebol-issues

Issue tracker for https://github.com/oldes/Rebol3
4 stars 0 forks source link

HTTP Scheme does not handle re-directs #631

Closed Siskin-Bot closed 3 years ago

Siskin-Bot commented 4 years ago

Submitted by: PeterWood

The HTTP scheme does not handle host re-directs.

R2:

>> read http://bbc.co.uk
connecting to: bbc.co.uk
connecting to: www.bbc.co.uk
== {<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http...

R3:

>> read http://bbc.co.uk
** Access error: Protocol error: "Redirect to other host - requires custom handling"

Imported from: CureCode [ Version: alpha 33 Type: Bug Platform: All Category: n/a Reproduce: Always Fixed-in:none ] Imported from: https://github.com/rebol/rebol-issues/issues/631

Comments:

Rebolbot commented on Feb 15, 2009:

Submitted by: Steeve

Not a bug. The HTTP scheme has to be rewritten by a freetimer, Currently it's just a very limited version. Download the source from Devbase and see yourself.


Rebolbot added the Type.bug on Jan 12, 2016


Oldes added a commit to Oldes/Rebol3 that referenced this issue on May 21, 2018: FEAT: added support for HTTP redirection


Oldes commented 3 years ago

It's working now (with some logs enambled):

>> read http://bbc.co.uk
 [HTTP] Opening connection: tcp://bbc.co.uk:80
 [HTTP] Request: {GET / HTTP/1.1^M
Accept: */*^M
Accept-charset: utf-8^M
Accept-Encoding: gzip,deflate^M
Host: bbc.co.uk^M
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36^M
}
 [HTTP] Headers: [
    Content-Length: "0"
    Content-Encoding: none
    Transfer-Encoding: none
    Last-Modified: none
    Server: "Varnish"
    Retry-After: "0"
    Accept-Ranges: "bytes"
    Date: "Thu, 21 Jan 2021 23:48:05 GMT"
    Via: "1.1 varnish"
    Connection: "close"
    X-Served-By: "cache-fra19160-FRA"
    X-Cache: "MISS"
    X-Cache-Hits: "0"
    X-Timer: "S1611272886.809825,VS0,VE0"
    nel: {{'report_to':'default','max_age': 2592000,'include_subdomains':true,'failure_fraction':0.05}}
    report-to: {{'group':'default','max_age':2592000,'endpoints':[ {'url':'https://europe-west1-bbc-otg-traf-mgr-bq-prod-4591.cloudfunctions.net/report-endpoint','priority':1} ],'include_subdomains':true}}
    req-svc-chain: "FASTLY"
    Location: "https://bbc.co.uk/"
    Cache-Control: {public,max-age=604800,stale-while-revalidate=3600,stale-if-error=3600}
]
 [HTTP] Redirect to: https://bbc.co.uk/
 [HTTP] Opening connection: tls://bbc.co.uk:443
TLS-port/state/protocol: HANDSHAKE
TLS-port/state/protocol: APPLICATION
 [HTTP] Request: {GET / HTTP/1.1^M
Accept: */*^M
Accept-charset: utf-8^M
Accept-Encoding: gzip,deflate^M
Host: bbc.co.uk^M
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36^M
}
TLS-port/state/protocol: APPLICATION
 [HTTP] Headers: [
    Content-Length: "0"
    Content-Encoding: none
    Transfer-Encoding: none
    Last-Modified: none
    Connection: "close"
    Server: "Varnish"
    Retry-After: "0"
    Accept-Ranges: "bytes"
    Date: "Thu, 21 Jan 2021 23:48:06 GMT"
    Via: "1.1 varnish"
    X-Served-By: "cache-fra19177-FRA"
    X-Cache: "MISS"
    X-Cache-Hits: "0"
    X-Timer: "S1611272886.012242,VS0,VE0"
    nel: {{'report_to':'default','max_age': 2592000,'include_subdomains':true,'failure_fraction':0.05}}
    report-to: {{'group':'default','max_age':2592000,'endpoints':[ {'url':'https://europe-west1-bbc-otg-traf-mgr-bq-prod-4591.cloudfunctions.net/report-endpoint','priority':1} ],'include_subdomains':true}}
    req-svc-chain: "FASTLY"
    Strict-Transport-Security: "max-age= 2592000"
    cache-control: {public,max-age=604800,stale-while-revalidate=3600,stale-if-error=3600}
    Location: "https://www.bbc.co.uk/"
]
 [HTTP] Redirect to: https://www.bbc.co.uk/
 [HTTP] Opening connection: tls://www.bbc.co.uk:443
TLS-port/state/protocol: HANDSHAKE
TLS-port/state/protocol: APPLICATION
 [HTTP] Request: {GET / HTTP/1.1^M
Accept: */*^M
Accept-charset: utf-8^M
Accept-Encoding: gzip,deflate^M
Host: www.bbc.co.uk^M
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36^M
}
TLS-port/state/protocol: APPLICATION
 [HTTP] Headers: [
    Content-Length: "41518"
    Content-Encoding: "gzip"
    Transfer-Encoding: none
    Last-Modified: none
    Connection: "keep-alive"
    Content-Type: "text/html"
    nel: {{"report_to":"default","max_age":2592000,"include_subdomains":true,"failure_fraction":0.05}}
    belfrage-cache-status: "MISS"
    cache-control: {public, stale-if-error=90, stale-while-revalidate=30, max-age=30}
    bsig: "75d910eb581ff8cd9779865c1cadd038"
    content-security-policy: {default-src 'none'; script-src 'strict-dynamic' 'nonce-7LW3e5YDVsU/zt8xu7BmvoPjLBkoVwxEzX5rrFdmaNvEpoOhj7' 'self' 'report-sample' 'unsafe-inline' assets.wearehearken.com cdn.syndication.twimg.com connect.facebook.net emp.bbci.co.uk ems.wearehearken.com modules.wearehearken.com mybbc-analytics.files.bbci.co.uk nav.files.bbci.co.uk news.files.bbci.co.uk platform.twitter.com public.flourish.studio static.bbc.co.uk static.bbci.co.uk static.chartbeat.com static2.chartbeat.com www.bbc.co.uk www.instagram.com www.ons.gov.uk gn-web-assets.api.bbc.com www.google-analytics.com static.files.bbci.co.uk; img-src 'self' c.files.bbci.co.uk data: https://a1.api.bbc.co.uk i.ytimg.com ichef.bbci.co.uk logws1363.ati-host.net news.bbcimg.co.uk news.files.bbci.co.uk newsimg.bbc.co.uk pbs.twimg.com ping.chartbeat.net platform.twitter.com r.bbci.co.uk sb.scorecardresearch.com syndication.twitter.com ton.twimg.com www.google-analytics.com static.files.bbci.co.uk; font-src gel.files.bbci.co.uk static.bbci.co.uk news.files.bbci.co.uk ws-downloads.files.bbci.co.uk; style-src cdn.riddle.com flo.uri.sh news.files.bbci.co.uk platform.twitter.com static.bbc.co.uk static.bbci.co.uk ton.twimg.com www.riddle.com 'unsafe-inline'; frame-src 'self' bbc001.carto.com bbc003.carto.com bbc-maps.carto.com cdn.riddle.com chartbeat.com emp.bbc.co.uk emp.bbc.com flo.uri.sh m.facebook.com news.files.bbci.co.uk personaltaxcalculator2.deloittecloud.co.uk platform.twitter.com public.flourish.studio static2.chartbeat.com syndication.twitter.com web.facebook.com www.bbc.co.uk www.facebook.com www.instagram.com www.ons.gov.uk www.riddle.com www.youtube.com; object-src 'none'; worker-src 'self' blob:; manifest-src static.files.bbci.co.uk; connect-src 'self' cookie-oven.api.bbc.co.uk cookie-oven.api.bbc.com ems.wearehearken.com https://a1.api.bbc.co.uk locator-service.api.bbci.co.uk logws1363.ati-host.net modules.wearehearken.com mybbc-analytics.files.bbci.co.uk news.files.bbci.co.uk static.files.bbci.co.uk platform.twitter.com search.api.bbci.co.uk search.api.bbci.com www.bbc.co.uk www.bbc.com www.google-analytics.com idcta.api.bbc.co.uk https://europe-west1-bbc-otg-traf-mgr-bq-prod-4591.cloudfunctions.net; child-src blob:; base-uri 'none'; form-action 'self' platform.twitter.com syndication.twitter.com; frame-ancestors 'none'; upgrade-insecure-requests; report-to default; report-uri https://europe-west1-bbc-otg-traf-mgr-bq-prod-4591.cloudfunctions.net/report-endpoint;}
    report-to: {{"group":"default","max_age":2592000,"endpoints":[{"url":"https://europe-west1-bbc-otg-traf-mgr-bq-prod-4591.cloudfunctions.net/report-endpoint","priority":1}],"include_subdomains":true}}
    brequestid: "ff45e4a4819a409ead6d46892d31060c"
    x-xss-protection: "1; mode=block"
    feature-policy: {accelerometer 'none'; autoplay 'none'; camera 'none'; document-domain 'self' https://emp.bbc.com https://emp.bbc.co.uk http://emp.bbc.com http://emp.bbc.co.uk; encrypted-media 'none'; fullscreen 'self'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; midi 'none'; payment 'none'; picture-in-picture 'self' https://emp.bbc.com https://emp.bbc.co.uk http://emp.bbc.com http://emp.bbc.co.uk; screen-wake-lock 'none'; sync-xhr 'none'; usb 'none'; xr-spatial-tracking 'none'}
    x-content-type-options: "nosniff"
    via: "1.1 BBC-GTM, 1.1 Belfrage, 1.1 varnish"
    bid: "www"
    req-svc-chain: "FASTLY,GTM,VTM,BELFRAGE"
    x-frame-options: "DENY"
    referrer-policy: "strict-origin-when-cross-origin"
    X-BBC-Edge-Cache-Status: "EXPIRED"
    X-BBC-Origin-Response-Status: "200"
    Server: "BBC-GTM"
    Accept-Ranges: "bytes"
    Date: "Thu, 21 Jan 2021 23:48:06 GMT"
    Age: "39"
    X-LB-NoCache: "true"
    X-Fastly-Cache-Status: "HIT-STALE-CLUSTER"
    X-Served-By: "cache-fra19138-FRA"
    X-Cache: "HIT"
    X-Cache-Hits: "1"
    X-Timer: "S1611272886.280385,VS0,VE1"
    Vary: "Accept-Encoding"
]
 [HTTP] Done reading: 41518 bytes
 [HTTP] Extracted using: gzip to: 350793 bytes
 [HTTP] Trying to decode from code-page: utf-8
== {<!DOCTYPE html><html lang="en-GB" class="no-js"><head><meta charSet="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /><title data-rh="true">BBC - Home</title><meta data-rh="true" name="description" content="The best of the BBC, with the latest news and sport headlines, weather, TV &amp; radio highlights and much more from across the whole of BBC Online"/><meta data-rh="true" name="theme-color" content="#FFFFFF"/><link data-rh="true" type="linkTags" rel="alternate" ...

>>