本文整理汇总了Java中org.apache.commons.httpclient.HttpMethod.setFollowRedirects方法的典型用法代码示例。如果您正苦于以下问题:Java HttpMethod.setFollowRedirects方法的具体用法?Java HttpMethod.setFollowRedirects怎么用?Java HttpMethod.setFollowRedirects使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.commons.httpclient.HttpMethod
的用法示例。
在下文中一共展示了HttpMethod.setFollowRedirects方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: executeRequest
import org.apache.commons.httpclient.HttpMethod; //导入方法依赖的package包/类
/**
* Will create the method and execute it. After this the method is sent to a
* ResponseHandler that is returned.
*
* @param httpRequest
* Request we are receiving from the client
* @param url
* The location we are proxying to
* @return A ResponseHandler that can be used to write the response
* @throws MethodNotAllowedException
* If the method specified by the request isn't handled
* @throws IOException
* When there is a problem with the streams
* @throws HttpException
* The httpclient can throw HttpExcetion when executing the
* method
*/
ResponseHandler executeRequest(HttpServletRequest httpRequest, String url)
throws MethodNotAllowedException, IOException, HttpException {
RequestHandler requestHandler = RequestHandlerFactory
.createRequestMethod(httpRequest.getMethod());
HttpMethod method = requestHandler.process(httpRequest, url);
method.setFollowRedirects(false);
/*
* Why does method.validate() return true when the method has been
* aborted? I mean, if validate returns true the API says that means
* that the method is ready to be executed. TODO I don't like doing type
* casting here, see above.
*/
if (!((HttpMethodBase) method).isAborted()) {
httpClient.executeMethod(method);
if (method.getStatusCode() == 405) {
Header allow = method.getResponseHeader("allow");
String value = allow.getValue();
throw new MethodNotAllowedException(
"Status code 405 from server",
AllowedMethodHandler.processAllowHeader(value));
}
}
return ResponseHandlerFactory.createResponseHandler(method);
}
示例2: createMethod
import org.apache.commons.httpclient.HttpMethod; //导入方法依赖的package包/类
protected HttpMethod createMethod(Request req) throws IOException
{
StringBuilder url = new StringBuilder(128);
url.append(baseUrl);
url.append("/service/");
url.append(req.getFullUri());
// construct method
HttpMethod httpMethod = null;
String method = req.getMethod();
if(method.equalsIgnoreCase("GET"))
{
GetMethod get = new GetMethod(url.toString());
httpMethod = get;
httpMethod.setFollowRedirects(true);
}
else if(method.equalsIgnoreCase("POST"))
{
PostMethod post = new PostMethod(url.toString());
httpMethod = post;
ByteArrayRequestEntity requestEntity = new ByteArrayRequestEntity(req.getBody(), req.getType());
if (req.getBody().length > DEFAULT_SAVEPOST_BUFFER)
{
post.getParams().setBooleanParameter(HttpMethodParams.USE_EXPECT_CONTINUE, true);
}
post.setRequestEntity(requestEntity);
// Note: not able to automatically follow redirects for POST, this is handled by sendRemoteRequest
}
else if(method.equalsIgnoreCase("HEAD"))
{
HeadMethod head = new HeadMethod(url.toString());
httpMethod = head;
httpMethod.setFollowRedirects(true);
}
else
{
throw new AlfrescoRuntimeException("Http Method " + method + " not supported");
}
if (req.getHeaders() != null)
{
for (Map.Entry<String, String> header : req.getHeaders().entrySet())
{
httpMethod.setRequestHeader(header.getKey(), header.getValue());
}
}
return httpMethod;
}