我正在尝试使用在 Windows Server 2003 上运行的 wget 1.11.4 对网站执行一些 JSON。我可以正常检索信息,但我无法发送任何信息。我不确定我的 JSON 格式是否正确,但似乎存在更根本的问题。
如果我做:
wget --header="Authorization: Bearer <redacted>" --no-check-certificate --post-data="{'workspaces':{'title':'CMC Regulatory Support','creator_role':'maven'}}" https://api.mavenlink.com/api/v1/workspaces.json
Run Code Online (Sandbox Code Playgroud)
我从站点“ERROR 422: Unprocessable Entity”收到一个 JSON 错误。但是,如果我添加另一个 --header:
wget -S --header="Authorization: Bearer <redacted>" -–header="Content-Type: application/json" --no-check-certificate --post-data="{'workspaces':{'title':'CMC Regulatory Support','creator_role':'maven'}}" https://api.mavenlink.com/api/v1/workspaces.json
Run Code Online (Sandbox Code Playgroud)
我得到:
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = C:\Program Files\GnuWin32/etc/wgetrc
wget: invalid option -- û
Usage: wget [OPTION]... [URL]...
Try `wget --help' for more options.
Run Code Online (Sandbox Code Playgroud)
但是手册明确指出允许使用多个 --header 开关,我看到网络上的示例中使用了 swithc 吗?。跆拳道?
我想为 nginx 提供的文件设置缓存头。有没有办法根据类型为某些文件设置缓存头?例如,我想为所有 js 文件而不是其他文件设置缓存头。我不想根据文件所在的位置设置标题。
我有一个存储桶并在其中启用了静态网站托管。
假设我在存储桶中只有两个文件 (index.html) 和 (error.html)
如果使用 test.html 命中请求,则拒绝访问或不抛出此类关键错误。
如果出现此类错误,如何重定向到 error.html?
我想要一个 PHP 代码来执行以下操作:
用户通过外部网站中的链接访问我的网站,换句话说,HTTP_REFERER 不是来自我自己的域。
将此 HTTP_REFERER 保存在 cookie 中
在我网站的另一部分,我将检查此 cookie 是否存在,并将保存的引用包含在用户配置文件中。
我发现,如果访问是第一次访问,我用 PHP 编写的 Web 服务中的 301 重定向响应不携带自定义 http 标头和自定义 cookie 值。我不确定的是这是否是 301 重定向应该如何工作,或者这是否只是如何编写我的 PHP 代码的问题?
如果这不清楚,请澄清,我会让问题更清楚。我的问题是关于 http 协议在这种情况下应该如何表现。
我觉得这应该很容易。我有一个应用程序,我想要做的就是有一个表单页面 (index.jsp),它调用一个 servlet (CheckInfo.java),它设置一个新的标头 (myHeader) 并将用户重定向到另一个页面 (redirect.jsp) . 所有这些文件都在同一台服务器上。index.jsp 正在发送请求,CheckInfo 正在处理和重定向,但 myHeader 没有显示在 redirect.jsp 上。我读过几篇关于 response.sendRedirect 发送不传递标头的 302 的帖子,我应该使用 RequestDispatcher,但似乎没有任何效果。有没有办法将头从 servlet 发送到 jsp?这是servlet代码:
response.setHeader("myHeader", "hey there");
response.sendRedirect("redirect.jsp");
Run Code Online (Sandbox Code Playgroud)
我也试过这个:
response.setHeader("myHeader", "hey there");
RequestDispatcher view = request.getRequestDispatcher("redirect.jsp");
view.forward(request, response);
Run Code Online (Sandbox Code Playgroud)
我在redirect.jsp中有这个:
System.out.println(request.getHeader("myHeader"));
Run Code Online (Sandbox Code Playgroud)
这不会打印任何内容。
如果我的问题的答案是否定的……那么一旦我回到 jsp,我就会找到一种设置标题的方法。我的反向代理正在寻找特定的标头以确定是否执行操作。显然,我在redirect.jsp 上尝试了response.addHeader(),但此时页面已经加载,这让我觉得自己很傻。
我正在实现一个提供 mp4 文件的 HTML5 视频播放器。
当我使用常规 mp4 文件作为源时,视频很快就会开始播放,我还可以寻找尚未下载的部分。
现在,我想保护我的视频文件,即它们存储在 web 根目录下,视频 src 是一个 php 文件,用于检查是否允许用户查看视频。
所以我的 HTML 看起来像这样:
...
<video src="http://videoserver.com/stream.php?file=videoxy.mp4">
...
Run Code Online (Sandbox Code Playgroud)
和stream.php:
...
if ($access_granted) {
if ($fd = fopen($path, "rb")) {
$fsize = filesize($path);
header("Content-Type: video/mp4");
header("Content-Disposition: inline; filename=\"".$filename."\"");
header('Content-Transfer-Encoding: binary');
header("Content-Length: $fsize");
fpassthru($fd);
} else {
die('file not found');
}
} else {
die('forbidden');
}
...
Run Code Online (Sandbox Code Playgroud)
现在,视频仍会播放,但只有在视频完全下载后才能播放。
如何在下载所有内容之前开始播放视频?另外我想寻求尚未下载的部分像以前一样工作。
我在启用了 Tomcat 访问日志的 Spring Boot 1.3.3 应用程序前面安装了 Nginx,但日志记录始终写入代理 IP 地址 (127.0.0.1) 而不是真实的客户端 IP。
我有这个配置:
应用程序属性
server.use-forward-headers=true
server.tomcat.internal-proxies=127\\.0\\.0\\.1
server.tomcat.accesslog.enabled=true
Run Code Online (Sandbox Code Playgroud)
nginx配置:
location / {
proxy_pass http://127.0.0.1:8091;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header Host $host;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的应用程序上实现缓存控制。我已经为所有字体设置了 tomcat 过滤器,给出 max-age=120。
当我在清除缓存的情况下第一次请求字体时,调用/响应如下:

正如你所看到的,我有 max-age 响应。现在我希望如果我点击刷新浏览器不会再次发送 http 请求,而是会发生以下情况:

如您所见,第二个请求有一个
cache-control: max-age=0
value 并且响应从服务器缓存返回。我想要实现的是阻止来自浏览器的整个调用。
难道我做错了什么?
谢谢
我很好奇 HTTP 重定向是如何工作的,并且想知道客户端是否必须请求一次或两次。
当客户端请求 urlhttp://example.com/foo和服务器响应301(永久重定向)到 时http://example.com/bar,服务器是否也发送/barurl的响应?还是客户必须要求/bar?
我试图用图形表达我的想法:
1: