我尝试通过在浏览器中输入值来访问HTTPS连接,它似乎工作正常并将我重定向到预期的页面/输出。但是当我使用代码尝试相同时,我无法得到结果。我尝试将UserAgent设置为(Mozilla / 5.0(BlackBerry; U; BlackBerry 9800; en-GB)AppleWebKit / 534.1 +(KHTML,如Gecko)Version / 6.0.0.141 Mobile Safari / 534.1 +)。但没有运气。我正在获得可信连接警报,当我点击继续时,我得到响应代码302.如何实现安全连接证书以禁用可信连接警报。
我习惯于httpsconnection打开网址,它会返回响应代码302.Again我查了
if (rc == HttpConnection.HTTP_TEMP_REDIRECT
|| rc == HttpConnection.HTTP_MOVED_TEMP
|| rc == HttpConnection.HTTP_MOVED_PERM) {
String location = conn.getHeaderField("location").trim();
System.out.println("location========"+location);
try {
Url = location;
newhttpConn = (HttpConnection) Connector.open(Url, Connector.READ_WRITE);
newhttpConn.setRequestMethod(HttpConnection.POST);
newhttpConn.setRequestProperty("User-Agent",
System.getProperty("browser.useragent"));
} catch (Exception e) {
System.out.println( e.toString());
}
但没有用,我从重定向网址获得相同的302.
编辑:
另外请提供一些想法,以使功能等同于HTTPClient在HTTPSConnection中工作。我怎样才能获得这些功能。如果没有可能在黑莓中使用Httpclient,那么我如何利用与Httpcleint相当的Blackberry https连接(或)来使用HTTPS连接获得自动重定向?
当connector.open(url)执行时,我会像这样
SSL:->CH
SSL:<-SH
SSL:<-SC
SSL:<-SHD
TLS:->CKE
SSL:->CCS
TLS:->F
TLS:<-F
输出控制台中的然后显示错误的响应。
答案 0 :(得分:1)
我正在获得可信连接警报,当我点击“继续”时,我会收到响应代码302。
这是一种完全预期的行为。
302 means请求的资源位于其他URI上。换句话说,服务器会指示您执行重定向。您应该调查连接标头,在名为“Location”的名称中,您将找到要继续的新URI。关闭/完成当前连接并为刚刚获得的重定向URI启动一个新连接。
<强>更新强>:
通常好的服务器在POST成功后会响应HTTP 302。这是一个已知的Post/Redirect/Get pattern,用于防止用户在浏览器页面刷新时发布相同的数据(用户可以在桌面浏览器中按F5)。因此,如果您通过POST访问的页面是为普通浏览器设计的,那么这可能只是意味着您的POST成功并且您不需要执行重定向请求。至少,如果你需要一些结果评估的响应,那么不要使用POST重定向,这次使用GET。