我已经用 PHP 5.3 以及 SQL Server 配置了 IIS 8.0。
我不确定出了什么问题。当我在浏览器中输入 URL 时,我可以在 Web 浏览器中看到我的 JSON 字符串,
但是当我将它传递给下面的代码时,它返回给我
IIS 8.0 Detailed Error - 401.2 - Unauthorized
我的 Eclipse 中出现 401.2 错误页面。
我正在通过 Windows 身份验证连接到数据库。因此,我在我的 IIS 中设置了启用 Windows 身份验证。除了 Windows 身份验证之外,我无法进行任何其他身份验证,那么我的 JSONstring 也根本不会从浏览器返回。在这种情况下。
我已尝试以下 URL 中提到的解决方案
http://support.microsoft.com/kb/942043
问题依然存在
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.CoreProtocolPNames;
public class JSONTester {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args)
{
InputStream is = null;
String json = "";
try
{
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://localhost/hive/get_all_products.php");
httpPost.getParams().setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE, false);
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
json = sb.toString();
} catch (Exception e) {
System.out.println(e.toString());
}
System.out.println(json);
}
}
任何帮助都会很棒。
谢谢 !!!