PUT(またはPOST)をサーバーに送信しようとしていますが、受信するのは「400badrequest」だけです。サーバーを見ると、リクエストはapacheに到着しますが、Railsには進みません。このエラーが発生します:
[Mon Jul 11 12:30:52 2011] [error] [client 151.80.29.77] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23)
私がGETリクエストを送信すると、それらはすべておやつとして通過します。これは、私のアプリケーションに関連するコードの塊です。誰かが何か間違ったことを見つけましたか?
InputStream in = null;
HttpParams params = new BasicHttpParams( );
HttpProtocolParams.setVersion( params, HttpVersion.HTTP_1_1 );
HttpProtocolParams.setContentCharset( params, HTTP.DEFAULT_CONTENT_CHARSET );
HttpProtocolParams.setUseExpectContinue( params, true );
SchemeRegistry schReg = new SchemeRegistry( );
schReg.register( new Scheme( "http", PlainSocketFactory.getSocketFactory( ), 80 ) );
schReg.register( new Scheme( "https", SSLSocketFactory.getSocketFactory( ), 443 ) );
ClientConnectionManager conMgr = new ThreadSafeClientConnManager( params, schReg );
httpClient = new DefaultHttpClient( conMgr, params );
httpClient.setCookieStore( myCookieStore );
HttpClientParams.setRedirecting( httpClient.getParams( ), true );
HttpContext localContext = new BasicHttpContext( );
HttpRequestBase request = null;
request = new HttpPut( url );
request.addHeader( "Host", my_domain );
StringEntity sePut = new StringEntity( data );
( (HttpPut)request ).setEntity( sePut );
HttpResponse response = httpClient.execute( request, localContext );
StatusLine status = response.getStatusLine( ); <------- 400 Bad Request