我设计了一个使用 Web 视图的应用程序。打开时,我的应用程序必须访问客户的站点。因此,我需要创建一个 Http 连接,它应该使用用户名和密码进行验证,并捕获来自服务器的响应并使用该响应加载内容。我一直在尝试做但无法弄清楚。请在这个问题上帮助我。请用一些代码解释。
这就是我试图建立一个 Http 连接但它正在抛出401响应代码。我认为问题是,它没有将我输入到编码器中的凭证拿走。
HttpConnection httpConn=null;
DataInputStream dis=null;
DataOutputStream dos = null;
URLEncodedPostData encPostData = new URLEncodedPostData(null, false);
encPostData.append("username", PasswordPopupScreen._response2);
encPostData.append("password", PasswordPopupScreen._response3);
try {
httpConn=(HttpConnection)Connector.open("myclient's siteURL");
httpConn.setRequestProperty(HttpProtocolConstants.HEADER_CONTENT_TYPE,
HttpProtocolConstants.CONTENT_TYPE_APPLICATION_X_WWW_FORM_URLENCODED);
httpConn.setRequestProperty(HttpProtocolConstants.HEADER_CONTENT_LENGTH,
String.valueOf(encPostData.getBytes().length));
dos=httpConn.openDataOutputStream();
dos.write(encPostData.getBytes());
if(httpConn.getResponseCode()==HttpConnection.HTTP_OK)
{
//Dialog.alert("Success");
System.out.println("Success");
}
else
{
// Dialog.alert("failed");
System.out.println("failed");
}
} catch (IOException e) {
e.printStackTrace();
}
为什么响应是401?这意味着未经授权的访问,但我有权查看我客户的网站。据我所知,问题是,请求没有附加用户名和密码。请帮助我在请求中添加凭据。我的客户端服务器采用NTLM身份验证。