- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有这个命令:
wget -O prova.csv --header="prova-user: guest" --header="prova-passwd: guest"
"http://www.....................80&albedo=0.2&horizon=1"
我想用 Java 进行批处理,但无法连接。当我尝试获取 imputstream 时返回此错误:
错误消息-8:未注册的 IP 地址
这是我的一段代码:
URL myURL = new URL(url);
HttpURLConnection myURLConnection = (HttpURLConnection)myURL.openConnection();
String userCredentials = "guest:guest";
String basicAuth = "Basic " + new String(new Base64().encode(userCredentials.getBytes()));
myURLConnection.setRequestProperty ("Authorization", basicAuth);
myURLConnection.setRequestMethod("POST");
myURLConnection.setRequestProperty("Content-Language", "en-US");
myURLConnection.setUseCaches(false);
myURLConnection.setDoInput(true);
myURLConnection.setDoOutput(true);
// Show page.
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(myURLConnection.getInputStream(), "UTF-8"));
for (String line; ((line = reader.readLine()) != null);) {
System.out.println(line);
}
} finally {
if (reader != null) try { reader.close(); } catch (IOException ignore) {}
}
这可能吗?我该怎么做?
提前致谢
最佳答案
您提供了 2 个完全不同的命令。
第一个是 wget,它在 HTTP header 中发送一种身份验证信息,并获取结果。
第二个是一个 java 程序,它使用基本身份验证在 POST 中执行 HTTP 请求。
如果第一个命令有效,那么您应该忘记基本身份验证并像在 wget 命令中那样设置正确的 HTTP header 。
如果 wget 看起来像普通的 GET 请求,我不知道你为什么要尝试 POST。
也只需在 java 中使用 GET 请求即可。
它应该可以工作。
关于错误,我想是服务器向您发送了这样的错误消息。
所以这可能是因为您没有正确验证。
但这是一个奇怪的错误,如果服务器有允许连接的 IP 地址白名单,我预计会出现这种错误。
您是否在同一台服务器上运行 wget 和 java 代码?
关于java - 在java中复制wget命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41503268/
如果我从命令行使用 wget 而不指定显式用户代理,我想知道传递的默认用户代理是什么。 我有一些基于用户代理更改输出的代码。 wget http://www.google.com -O test.ht
我想使用 wget 下载网络,但为了使它更像一个真正的用户,我想在请求之间进行小的随机延迟。 我正在通过 cmd 执行 wget。 最佳答案 您可以将以下代码添加到命令行中,这会在服务器请求之间增加
我想从 ftp 服务器下载许多文件(大约 10000 个)。文件名太长。我只想用名称中的日期保存它们。例如:ABCDE201604120000-abcde.nc 我更喜欢20160412.nc可能吗?
我想抓取一个网站来构建它的站点地图。 问题是,该站点使用 htaccess 文件来阻止蜘蛛,因此以下命令仅下载主页(index.html)并停止,尽管它确实包含指向其他页面的链接: wget -mkE
当我去ISC时here要下载 BIND,我的浏览器会自动正确保存下载的文件。例如,如果我点击 9.9.4-P2 的下载按钮,它会弹出一个窗口,如果我点击右侧的“BIND 9.9.4-P2 - tar.
我的 shell 脚本中有一个像这样的 wget 命令: reponse="`wget -O- http:localhost:8080/app/index.html`" 我不明白 -O- 选项。我被解
我正在尝试使用Wget下载页面,但我无法通过登录屏幕。 如何使用登录页面上的发布数据发送用户名/密码,然后以经过身份验证的用户身份下载实际页面? 最佳答案 基于手册页: # Log in to the
我创建了指向框中文件的直接链接: 上一个链接是浏览器网络界面,所以我随后分享了一个直接链接: 但是,如果我使用 wget 下载文件,我会收到垃圾。 如何使用 wget 下载文件? 最佳答案 我可以通过
我尝试了“-N”和“--no-clobber”,但我得到的唯一结果是检索现有 example.exe 的新副本,其编号是使用此语法“example.exe.1”添加的数字'。这不是我想要得到的。我只需
当我执行 wget 时,我希望文件系统中保存的文件具有现在的保存日期。不是服务器的日期。当我这样做时: ll -ltr 我首先下载了文件(列表中的最后一个)。 以及如何将其设为默认值?什么时候是默认值
在我的 CentOS 6.5 中,我想安装 wget: # yum -y install wget 但我收到以下错误: [root@localhost yum.repos.d]# yum -y i
我正在尝试使用 wget 抓取网站。这是我的命令: wget -t 3 -N -k -r -x -N 表示“如果服务器版本低于本地版本,则不下载文件”。但这不起作用。当我重新启动上述抓取操作时,会一遍
我在 cron 作业中使用 wget 每分钟将 .jpg 文件提取到 Web 服务器文件夹中(每次使用相同的文件名,覆盖)。此文件夹是“事件的”,因为 Web 服务器也从那里提供该图像。但是,如果有人
我有以下问题。我需要镜像受密码保护的站点。听起来很简单: wget -m -k -K -E --cookies=on --keep-session-cookies --load-cookies=myC
我可以使用 wget 检查 404 错误而不实际下载资源吗?如果是这样怎么办?谢谢 最佳答案 命令行参数--spider正是用于此目的。在此模式下,wget 不会下载文件,如果找到资源,则返回值为零;
我正在通过 wget 下载一些 .mp3 文件(全部合法): wget -r -nc files.myserver.com 有时我必须停止下载,此时文件已部分下载。例如,10 分钟的 record.m
我正在使用 wget 连接到这样的安全站点: wget -nc -i inputFile 其中 inputeFile 由这样的 URL 组成: https://clientWebsite.com/Th
我目前正在使用一个相当复杂的 wget 命令,但它的本质是 -p 和 -k 标志来下载所有先决条件。如何将主要下载文件重命名为 index.html? 比如我下载一个网页 http://myaweso
这看起来应该很简单,但我无法弄清楚。我要发wget类似于以下的请求, wget http://www.foo.com/bar.cgi?param=\"p\" 但我不希望它对引号(或其他任何东西)进行
我正在编写一个需要从 sourceforge 下载发布文件的脚本。如何获得好的链接? 同样的问题及其答案于 2013 年在此处给出,但不再有效。 https://unix.stackexchange.
我是一名优秀的程序员,十分优秀!