wget command is not downloading csv file - csv

i'm trying the wget command with the url below but it's not
downloading the CSV file correctly. Can anyone help with this?
https://www.statistik-berlin-brandenburg.de/opendata/AfSBBB_BE_LOR_Strasse_Strassenverkehrsunfaelle_2020_Datensatz.csv

I used --spider option to reveal true type of file under link
wget --spider https://www.statistik-berlin-brandenburg.de/opendata/AfSBBB_BE_LOR_Strasse_Strassenverkehrsunfaelle_2020_Datensatz.csv
and was informed that
HTTP request sent, awaiting response... 200 OK
Length: 758 [text/html]
Remote file exists and could contain further links,
but recursion is disabled -- not retrieving.
so despite .csv in name it is html, that is probably page I then downloaded and inspected said page, it looks as follows
<!doctype html><html lang="de"><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="generator" content="Amt für Statistik Berlin-Brandenburg"/><title>Seite wird geladen</title><link rel="preconnect" href="https://api.scrivito.com" crossorigin/><link rel="preconnect" href="https://api.scrivito.com"/><link rel="preconnect" href="https://cdn0.scrvt.com"/><script defer="defer" src="/assets/index.65d54663cbf0759e5371.js"></script><link href="/assets/index.0823cc0c27dde2848784.css" rel="stylesheet"><script src="/js_snippets_head.js"></script></head><body><div id="application"><span class="loader">Seite wird geladen ...</span></div></body></html>
So it seems to be page with JavaScript which does prompt browser to download file. GNU wget does not support JavaScript execution so is not right tool for your task, you might get desired file downloaded using some browser automation tool instead.

Related

In HTML page .exe app file when download why is Anti-Virus software flagging?

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TEST</title>
</head>
<body>
TARGET
</body>
</html>
I have a html page with a link to a .exe app file. When I click on the link two warning are shown:
1) McAfee ===> Be careful. This file is can be dangerous.
2) SmarstScreen ===> Microsoft Defender SmartScreen blocked an unrecognized application from starting.
Publisher: unknown publisher
Chrome Web
Web Server for Chrome, Virtual - Locale
Method = GET / HTTP/1.1 - 200
Locale Address = http://127.0.0.1:5000 ----- and ----- app.exe file address: http://127.0.0.1:5500
My address bar says the site is "not safe" and symbol is " 'i' in circle".
What is solution this problem? SSL certificate?
Something else?
I think most anti virus tools will basically flag all direct unsigned exe files as potentially harmful. This is because a lot of malicious websites will try to trick users into downloading and executing malware this way and this is quite common across the internet unfortunately.
Having an SSL/TLS certificate will stop the unencrypted warning in the URL bar but won't help the above.
I would recommend checking your file with an online scanner such as VirusTotal to see if it is being detected as something malicious and then you can try to fix it. I also recommend that you host your file on a third party file host not on your local machine.

How to properly load local JSON in D3?

Trying to load a local .json-file from the same folder in D3 (and logging it to the console), but there are two errors in the console:
d3.v5.js:5908 Fetch API cannot load
[buildings.json - file]. URL scheme must be
"http" or "https" for CORS request. json # d3.v5.js:5908 (anonymous) #
index.html:10
d3.v5.js:5908 Uncaught (in promise) TypeError: Failed to
fetch
at Object.json (d3.v5.js:5908)
at index.html:10 json # d3.v5.js:5908 (anonymous) # index.html:10 Promise.then (async) (anonymous) # index.html:10
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<script src="https://d3js.org/d3.v5.js"></script>
</head>
<body>
<script>
d3.json("buildings.json").then(data => console.log(data))
</script>
</body>
</html>
Does anybody see the reason & have a solution?
d3.json uses fetch.
export default function(input, init) {
return fetch(input, init).then(responseJson);
}
https://github.com/d3/d3-fetch/blob/master/src/json.js
So you are dealing with the same problem described in these SO posts.
Importing local json file using d3.json does not work
"Cross origin requests are only supported for HTTP." error when loading a local file
Fetch API cannot load file:///C:/Users/woshi/Desktop/P5/p5/JSON/birds.json. URL scheme must be "http" or "https" for CORS request
You are facing a problem with cross origin resource sharing which is a security feature by your browser.
Two options two avoid this:
use a webserver. To just run a simple webserver for your static html/js files something like the npm http-server (https://www.npmjs.com/package/http-server) could be used
Change your chrome startup parameters and let it know that you want to ignore this security feature. You can do this by changing your startup configuration for example like this
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="%LOCALAPPDATA%\Google\Chrome\User Data\development"
The parameters --disable-web-security --user-data-dir are the important part here.
Note: Just use this for development. You allow cross origin requests by this for all websites you visit.
Another possibility mentioned in How to launch html using Chrome at "--allow-file-access-from-files" mode? is to use a browser extension like Web Server for Chrome

Cannot use webrtc.io package; JavaScript error on browser

I have just started working with WebRTC. I want to use WebRTC with NodeJS.
Currently I have tried webrtc.io package. When I write a basic code for using WebRTC, I get the following JavaScript error.
Error is :
Uncaught TypeError: Type error
rtc._socket.onopen
Error Location:
webrtc.io.js:65
Here is my code.
CLIENT CODE :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HTML5 getUserMedia</title>
<script src="socket.io.min.js" type="text/javascript"></script>
<script src="webrtc.io.js" type="text/javascript"></script>
<script>
rtc.connect('ws://abc.in:8001');
</script>
</head>
<body>
<video id="webcam" width="500" autoplay></video>
</body>
</html>
SERVER CODE :
var webRTC = require('/usr/local/node_modules/webrtc.io').listen( 8001 );
console.log( "Server Listening" );
webRTC.on( "connection", function() {
console.log( "Hi" ); // This gets executed successfully.
});
Q1.
Since "Hi" does get printed successfully, I don't know if JS error is actually making a difference or no. Help me resolve this JS error issue.
Issue also reported here.
Q2.
Hitting http://abc.in:8001/ through browser prints "Not implemented". Is that an issue?
Q3.
I wish to stream the audio+video from a mic and webcam to the server.
I understand that I need to create a peer to peer connection to achieve streaming of audio+video to server. Browser should act as one peer and the server would act as the second peer.
How do I send the WebRTC stream to the server? Lack of documentation of the webrtc.io package isn't helping me either.
Please help
EDIT : Browser used is the latest Google Chrome, Version 31.0.1650.57 m
I uploaded simplest webRTC code at
http://github.com/aungthuya-jse/simplest-webRTC/tree/master
You need to add the node_modules to under of project folder by installing
npm install express
and
npm install webrtc.io
after installation you will see /project-folder/node_modules/express folder and webrtc.io folder

html tags not working in perl

I am new to perl scripting and i am trying to execute following code
#!/usr/bin/perl
$html = "Content-Type: text/html
<HTML>
<HEAD>
<TITLE>Hello World</TITLE>
</HEAD>
<BODY>
<H4>Hello World</H4>
<P>
Your IP Address is $ENV{REMOTE_ADDR}
<P>
<H5>Have a nice day</H5>
</BODY>
</HTML>";
print $html;
when i execute the file its just printing whole $html content within quotation marks and not executing the html tags.
Can anybody tell what am i doing wrong . I have my test.pl file in root directory and have tried " chmod 775 test.pl" command.
Thank you
I think you are running your program from a command line. In those circumstances the HTTP data type will have no effect, and the whole string will be printed to the console.
To get the string served as an HTTP message you need to put the program on an HTTP server, which can be either a remote system or your own computer with server software installed and configured.
Maybe the shebang line is not correct, it is missing the first /.
You could always able to execute perl code in this way:
path_to_your_perl your_program
Like:
/usr/bin/perl test.pl

Application Cache works in Tomcat 6.0 but not in weblogic 10.3

I'm working with application cache and I'm facing the below issue:
In Tomcat Server:
When the server is online and if the page is accessed for the first time, the files specified in the manifest file are caught successfully in the application cache.
When the server is offline, when we try to access the cached page, there is an error in the browser console (Application Cache Error event: Manifest fetch failed (-1) which is quite normal as per my findings in the internet) but the application cache works fine.
In Weblogic server:
I tried to run the same code in Weblogic server, in online mode, the files are cached as expected. But in the offline mode, for the first time the page is loaded, it works fine, but when I see the console the status of the application cache goes to OBSOLETE mode and so if I do a refresh of the page again, it throws me a 404 error. Also, I'm not getting the "Application Cache Error event: Manifest fetch failed (-1)" which I get when I try to run the code in tomcat server. Please let me know what's that I'm doing wrong. Below are the files:
index.html
<html manifest="demo.appcache">
<head>
<link rel="stylesheet" href="style.css" type="text/css" />
<script type="text/javascript" src="script.js" ></script>
</head>
<body>
<h1>Basic example of page using Application Cache</h1>
<p>Disconnect from the internet and try to reload this page. It should load without requiring you to connect to the internet.</p>
</body>
</html>
manifest file (demo.appcache)
CACHE MANIFEST
CACHE:
style.css
script.js
index.html
demo.appcache
NETWORK:
*
style.css
body{
background-color: #333;
}
h1{
color: #c94054;
}
p{
color: #fff;
}
script.js
if (!window.applicationCache){
alert('It seems that Application Cache is not supported in this browser. Please use a browser which supports it.');
}
web.xml
<mime-mapping>
<extension>appcache</extension>
<mime-type>text/cache-manifest</mime-type>
</mime-mapping>
This problem comes when the browser encounters the manifest line in the html tag, it tries to download the appcache file from the server. But when the server doesn't have this file it returns 404 error, so the application cache goes to OBSOLETE event.
So in this case, the possible reasons are
1- your server doesn't contain this file
2 - If your server has this file but not returning to the browser, this happens when the server is running but your application is actually undeployed.
So try stopping your server rather than just undeploying your applciation from the server instance.
Hope it works.