首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >针对WebService -HTTP/1.1400BAD请求的Telnet

针对WebService -HTTP/1.1400BAD请求的Telnet
EN

Stack Overflow用户
提问于 2013-06-01 13:25:02
回答 2查看 4.7K关注 0票数 3

我使用HTTPService时出错了。我编写了一个示例代码,如下所示:

代码语言:javascript
复制
import java.net.InetSocketAddress;

import com.kivar.lumina.services.handlers.LuminaSearchService;
import com.sun.net.httpserver.HttpServer;

public class LuminaWebService {

    public static void main( String[] args ) throws Exception {
        HttpServer server = HttpServer.create( new InetSocketAddress( 8000 ), 0 );
        server.createContext( "/luminaSearchService ", new LuminaSearchService() );
        server.start();
    }

}

还有我的处理程序课

代码语言:javascript
复制
import java.io.IOException;
import java.io.OutputStream;

import com.kivar.lumina.services.interfaces.SearchService;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;

public class LuminaSearchService extends Thread implements SearchService, HttpHandler {

    @Override
    public void handle( HttpExchange arg0 ) throws IOException {
        setDaemon( true );
        String response = "This is the response";
        arg0.sendResponseHeaders( 200, response.length() );
        OutputStream os = arg0.getResponseBody();
        os.write( response.getBytes() );
        os.close();
    }

}

当我尝试使用cmd提示符和以下语法执行telnet时,

telnet 127.0.0.1 8000

我说错了

代码语言:javascript
复制
HTTP/1.1 400 Bad Request
Connection to the host lost.

请告诉我我在这里犯的错误。谢谢一吨。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-01 13:37:30

您的web服务器似乎不再支持HTTP1.0。对于HTTP1.1,您必须指定版本号和主机名:

代码语言:javascript
复制
GET /luminaSearchService HTTP/1.1
Host: 127.0.0.1

使用Windows命令窗口,没有看到所键入的内容是正常的。

如果您将web浏览器指向这个URL,这不是更容易吗,因为它是一个简单的GET请求?

票数 6
EN

Stack Overflow用户

发布于 2013-06-01 13:31:58

您的may服务可能需要一些请求或头参数,从而抛出此错误。你也能提供网络服务的合同吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16873201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档