Tag: http

如何在继续之前等待异步http结束?

在GWT中有没有办法等待异步调用完成? 我需要继续响应(这是一个登录屏幕,所以成功意味着改变到实际游戏,失败意味着留在登录屏幕)。 这是电话: private void execRequest(RequestBuilder builder) { try { builder.sendRequest(null, new RequestCallback() { public void onError(Request request, Throwable exception) { s = exception.getMessage(); } public void onResponseReceived(Request request, Response response) { s = response.getText(); } }); } catch (RequestException e) { s = e.getMessage(); } } 这是调用方法:` public String check() { s = null; […]

分析我的java代码发送的http流量的最佳方法?

我有一些新的Java代码(使用Apache commons http库)和旧的(严格使用java 1.4 API)并尝试使用较新的apache commons库重写旧代码。 然而,它不起作用,我正在努力找出原因。 请求正在发送,但我的新代码在我无法访问的接收服务器上超时。 由于旧代码有效,我必须搞砸http请求。 使用某种HTTP流量嗅探器来检查发送的内容是非常有用的,这样我就能看出它们之间存在什么差异。 我已经从网上下载了一些http嗅探器( 这个和那个 )但是既不捕获我的java代码发送的任何http数据(但是当我从浏览器发送随机请求时它们确实有效)。 关于我如何掌握这些数据的任何想法?

HTTP查询参数和HTTP表单参数之间的区别?

HTTP查询参数和HTTP表单参数之间有什么区别? 我在宁静的相关文件中看到了这些话。有人帮忙解释一下吗? 或者举一个http请求中的单词示例。提前谢谢!

处理程序将HTTP标头添加到使用Axis Client API时未调用的HTTP请求

我正在使用Axis API访问Axis HTTP服务器。 可以在此处找到API的文档。 我使用以下代码将处理程序添加到服务器。 service的类型为java.xml.rpc.Service HandlerRegistry registry = service.getHandlerRegistry(); QName serviceName = new QName(url, “MyServiceClass”); List handlerChain = new ArrayList(); HandlerInfo handlerInfo = new HandlerInfo(MyHandler.class, null, null); handlerChain.add(handlerInfo); registry.setHandlerChain(serviceName, handlerChain); 我知道服务名称是正确的,因为我在后续调用服务对象时获得了正确的输出。 不知何故,处理程序没有被调用。 这是Handler类。 我的目的是在将请求转发给服务器之前向HTTP请求添加自定义标头 。 import javax.xml.namespace.QName; import org.apache.axis.AxisFault; import org.apache.axis.MessageContext; import org.apache.axis.handlers.BasicHandler; public class MyHandler extends BasicHandler { @Override public void init() { […]

以多种格式从InputStream读取

我正在尝试编写一个读取HTTP请求和响应并解析它们的类。 由于标题是普通文本,因此使用BufferedReader和readLine方法读取它们似乎最容易。 这显然不会对数据体造成影响,因为它可能是二进制的,所以我想在读取头文件后切换到读取原始字节。 现在,我正在做这样的事情: InputStream input=socket.getInputStream(); BufferedReader reader=new BufferedReader(new InputStreamReader(input)); BufferedInputStream binstream=new BufferedInputStream(input); 问题是BufferedReader正在向前读取并在我有机会使用binstream获取流之前吞噬流中的所有二进制数据。 有没有办法阻止它每次调用readLine时读取超出换行符? 或者是否有更好的方法来读取原始二进制数据后的单行ASCII文本?

我可以在一个HttpServletResponse中附加多个附件

例如,我想在一个响应中下载一个zip文件和一个csv文件。 除了在一个zip文件中压缩这两个文件之外,还有什么办法吗?

如何在Java套接字中识别EOF?

我想识别Java套接字中的数据流结束 。 当我运行下面的代码时,它只是卡住并继续运行(它停留在值10 )。 我也希望程序下载二进制文件,但最后一个字节总是不同的,所以我不知道如何停止while (实用)。 String host = “example.com”; String path = “/”; Socket connection = new Socket(host, 80); PrintWriter out = new PrintWriter(connection.getOutputStream()); out.write(“GET “+ path +” HTTP/1.1\r\nHost: “+ host +”\r\n\r\n”); out.flush(); int dataBuffer; while ((dataBuffer = connection.getInputStream().read()) != -1) System.out.println(dataBuffer); out.close(); 谢谢你的任何提示。

Spring和HTTP Options请求

作为对这个问题的跟进,我想知道如何在spring 3 mvc应用程序中处理OPTIONS请求。 我不想为我的spring代码中的每个端点编写一个选项处理方法。 但是建议将选项处理程序映射到“/ **”只适用于没有处理程序的终端…. 所以我想到使用mvc拦截器拦截OPTIONS请求来处理跨站点访问的东西。 但我无法想象这是最好的方法。 有没有其他选项,如在同一路径上具有不同请求方法的多个处理程序? 我的感觉告诉我,这实际上应该有用..(但它没有)!?

Java:HTTP Post在Ruby on Rails应用程序中创建新的“Product”

在Android上使用Apache HttpClient,如何使用HttpPost将数据发送到RESTfull Ruby on Rails应用程序。 这是我的控制器: # POST /products def create @product = Product.new(params[:product]) respond_to do |format| if @product.save flash[:notice] = ‘Product was successfully created.’ format.html { redirect_to(@product) } format.xml { render :xml => @product, :status => :created, :location => @product } else format.html { render :action => “new” } format.xml { render :xml => […]

缓冲读取器HTTP POST

寻求一些帮助,我目前编写了一个HTTP服务器。 它目前正在处理GET请求。 但是,在使用POST时,缓冲的阅读器似乎挂了。 当请求停止时,通过缓冲读取器读取其余输入流。 我在谷歌上发现了一些东西。 我已经尝试将CRLF和协议版本从1.1更改为1.0(浏览器自动发出请求为1.1)任何想法或帮助将不胜感激。 谢谢