gpt4 book ai didi

java - 无响应的 HTTP 处理程序

转载 作者:太空宇宙 更新时间:2023-11-04 15:02:08 25 4
gpt4 key购买 nike

我正在编写一个测试 HTTPHandler,并连接到我使用此测试代码创建的服务器。

public static void main( String[] args ) throws Exception {
String param = URLEncoder.encode( "raghu", Constants.ENCODING_CHARSET );
String uri = "http://127.0.0.1:" + Constants.PORT_NUMBER + "/test" + "?" + "welcome=" + param;
URL url = new URL( uri );
HttpURLConnection conn = ( HttpURLConnection ) url.openConnection();
conn.setRequestMethod( "GET" );
conn.setRequestProperty( "Accept", "application/xml" );
conn.setDoOutput( true );
conn.setReadTimeout( 5000 );


InputStream responseCode = conn.getInputStream();
System.out.println();
String toString = convertInputStreamToString( responseCode );
System.out.println( "response-->" + toString );

conn.disconnect();
}

private static String convertInputStreamToString( InputStream inputStream ) throws IOException {
StringBuffer out = new StringBuffer();
byte[] b = new byte[4096];
for ( int i; ( i = inputStream.read( b ) ) != -1; ) {
out.append( new String( b, 0, i ) );
}
return out.toString();
}

我的处理程序代码是,

public class TestServiceAPI extends BaseServiceAPI {

@Override
public void handle( HttpExchange arg0 ) throws IOException {
Map<String, Object> params = getParams( arg0 );
System.out.println( "Inside test service---> " + params.get( "welcome" ) );
}

}

那么是否必须从处理程序发送一些响应?我的代码在 InputStream responseCode = conn.getInputStream(); 处停止,因为这是我知道的唯一触发方式。请告诉我我的做法是否正确,或者是否有其他方式向服务器发出请求。

谢谢。

最佳答案

我的错..答案真的很简单。

我只是将其添加到我的处理程序代码中:

request.sendResponseHeaders( 200, 0 );

关于java - 无响应的 HTTP 处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22452956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com