我在一台机器上运行了两个HTTP服务.我只是想知道他们是否共享他们的cookie或者浏览器是否区分了两个服务器套接字.
嗯,这个看起来很简单,而且确实如此.要将文件下载到服务器,您只需:
file_put_contents("Tmpfile.zip", file_get_contents("http://someurl/file.zip"));
Run Code Online (Sandbox Code Playgroud)
只有一个问题.如果您有一个大文件,如100mb,该怎么办?然后,您将耗尽内存,无法下载该文件.
我想要的是一种在我下载文件时将文件写入磁盘的方法.这样,我可以下载更大的文件,而不会遇到内存问题.
有没有办法只使用Java SE API在Java中创建一个非常基本的HTTP服务器(仅支持GET/POST),而无需编写代码来手动解析HTTP请求并手动格式化HTTP响应?Java SE API很好地将HTTP客户端功能封装在HttpURLConnection中,但是有一个用于HTTP服务器功能的模拟吗?
为了清楚起见,我在网上看到的很多ServerSocket示例的问题是他们自己做了请求解析/响应格式化和错误处理,这很乏味,容易出错,而且不太全面,我出于这些原因试图避免它.
作为我试图避免的手动HTTP操作的示例:
http://java.sun.com/developer/technicalArticles/Networking/Webserver/WebServercode.html
我需要在HTTP响应中发送CSV文件.如何将输出响应设置为CSV格式?
这不起作用:
Response.ContentType = "application/CSV";
Run Code Online (Sandbox Code Playgroud) 我在表单中有一些禁用的输入,我想将它们发送到服务器,但Chrome会从请求中排除它们.
没有添加隐藏字段,有没有解决方法?
<form action="/Media/Add">
<input type="hidden" name="Id" value="123" />
<!-- this does not appear in request -->
<input type="textbox" name="Percentage" value="100" disabled="disabled" />
</form>
Run Code Online (Sandbox Code Playgroud) 我成功地使用此代码HTTP通过GET方法发送 带有一些参数的请求
void sendRequest(String request)
{
// i.e.: request = "http://example.com/index.php?param1=a¶m2=b¶m3=c";
URL url = new URL(request);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setInstanceFollowRedirects(false);
connection.setRequestMethod("GET");
connection.setRequestProperty("Content-Type", "text/plain");
connection.setRequestProperty("charset", "utf-8");
connection.connect();
}
Run Code Online (Sandbox Code Playgroud)
现在我可能需要通过POST方法发送参数(即param1,param2,param3),因为它们非常长.我想在该方法中添加一个额外的参数(即String httpMethod).
如何能够尽可能少地更改上面的代码,以便能够通过GET或发送参数POST?
我希望改变
connection.setRequestMethod("GET");
Run Code Online (Sandbox Code Playgroud)
至
connection.setRequestMethod("POST");
Run Code Online (Sandbox Code Playgroud)
本来可以做到的,但参数仍然是通过GET方法发送的.
有HttpURLConnection任何方法可以帮助吗?有没有有用的Java构造?
任何帮助将非常感谢.
是否允许HTTP标头允许的最大允许大小?如果是这样,它是什么?如果没有,这是特定于服务器的东西,还是允许任何大小的标题的公认标准?
有没有办法使用PHP获取cURL请求的标题和正文?我发现这个选项:
curl_setopt($ch, CURLOPT_HEADER, true);
Run Code Online (Sandbox Code Playgroud)
将返回身体加上标题,但后来我需要解析它以获取身体.有没有办法以更有用(和更安全)的方式获得两者?
请注意,对于"单个请求",我的意思是避免在GET/POST之前发出HEAD请求.
关于websocket和HTTP有很多博客和讨论,许多开发人员和网站都强烈支持websockets,但我仍然无法理解为什么.
例如(websocket爱好者的参数):
HTML5 Web套接字代表了Web通信的下一个发展 - 一种全双工双向通信通道,通过Web上的单个插槽运行.(http://www.websocket.org/quantum.html)
HTTP支持流媒体:请求正文流(您在上传大文件时使用它)和响应正文流.
在与WebSocket连接期间,客户端和服务器每帧交换2个字节的数据,而连续轮询时则为8千字节的http头.
为什么这2个字节不包括tcp和tcp协议开销?
GET /about.html HTTP/1.1
Host: example.org
Run Code Online (Sandbox Code Playgroud)
这是~48字节的http标头.
http chunked编码 - http://ru.wikipedia.org/wiki/Chunked_transfer_encoding:
23
This is the data in the first chunk
1A
and this is the second one
3
con
8
sequence
0
Run Code Online (Sandbox Code Playgroud)
这两个协议都可以在TCP上运行,因此所有与长期连接的TCP问题仍然存在.
题:
我在PHP网站设置基本身份验证,发现此页面上显示的设置PHP手册.标题中的"领域"是什么意思?
header('WWW-Authenticate: Basic realm="My Realm"');
Run Code Online (Sandbox Code Playgroud)
是请求的页面页面吗?