我正在将一些数据发布到正在回答302移动临时的服务器上。
我希望HttpClient遵循重定向并自动获取新位置,因为我相信这是HttpClient的默认行为。但是,我得到一个例外,而不是按照重定向:(
这是相关的代码,任何想法都将不胜感激:
HttpParams httpParams = new BasicHttpParams();
HttpClientParams.setRedirecting(httpParams, true);
SchemeRegistry schemeRegistry = registerFactories();
ClientConnectionManager clientConnectionManager = new ThreadSafeClientConnManager(httpParams, schemeRegistry);
HttpClient httpClient = new DefaultHttpClient(clientConnectionManager, httpParams)
HttpPost postRequest = new HttpPost(url);
postRequest.setHeader(HTTP.CONTENT_TYPE, contentType);
postRequest.setHeader(ACCEPT, contentType);
if (requestBodyString != null) {
postRequest.setEntity(new StringEntity(requestBodyString));
}
return httpClient.execute(postRequest, responseHandler);
HttpClient的默认行为符合HTTP规范(RFC 2616)的要求
10.3.3找到302
...
如果响应请求而接收到302状态代码,则其他
而不是GET或HEAD,用户代理不得自动重定向
请求,除非用户可以确认,否则可能会
更改发出请求的条件。
您可以通过子类化DefaultRedirectStrategy并覆盖其#isRedirected()方法来覆盖HttpClient的默认行为。
主要内容:Maven依赖关系,重定向处理示例HttpClient自动处理所有类型的重定向,除了HTTP规范明确禁止的那些重定向需要用户干预。 请参阅其他(状态码)在POST上重定向,并且按照HTTP规范的要求将PUT请求转换为GET请求。 可以使用自定义重定向策略来放宽由HTTP规范施加的对POST方法的自动重定向的限制。 在下面的教程中,我们将使用来处理http重定向。 Maven依赖关系 我们使用maven来管理依赖关系,并使用Apac
11.7. 处理重定向 你可以使用两种不同的自定义 URL 头信息来处理永久重定向和临时重定向。 首先, 让我们来看看重定向处理的必要性。 例 11.10. 没有重定向处理的情况下,访问 web 服务 >>> import urllib2, httplib >>> httplib.HTTPConnection.debuglevel = 1 >>> request = url
我需要检测何时有重定向。我的第一个想法是检查301的状态代码,但是: responseMessage返回“OK”,但在浏览器中,此链接返回301并重定向。 因此,如果我不能依赖于此,那么我决定只比较请求URI和响应URI。 GetAsync返回任务 https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemes
问题内容: 我在应用中使用angularjs http服务,并且在网站上注意到了这一点: 如果AJAX调用成功(服务器发送回200至209之间的HTTP代码),则将执行传递给success()函数的函数。如果AJAX调用失败(除重定向以外的所有其他代码),则执行传递给error()方法的函数。 显然,重定向状态代码既不是成功也不是错误回调的一部分。那么我们将如何处理重定向? 这就是我的脚本所做的,
我对我的servlet执行请求 和联机: 一个可能相关的问题:我很清楚logcat中的“无法et连接工厂客户端”任何可能导致该问题的东西都不是我的情况 API密钥正确,正确debug.keystore的路径 清单中的所有权限 在清单中也使用-library android:name=“com.google.android.maps 地图显示正确,在缩放/移动时刷新。
问题内容: 调用指向从RSS源中获取的文章的链接会导致以下错误: urllib2.HTTPError:HTTP错误301:HTTP服务器返回了重定向错误,这将导致无限循环。最后30x错误消息是:永久移动 根据文档,urllib2支持重定向。 在Java上,只需调用即可解决问题 如何使用Python解决? 更新 我遇到的链接有问题: http://feeds.nytimes.com/click.ph