Java 服务器返回HTTP响应代码:500,Android中带有HttpUrlConnection
我正在使用以下代码将一些数据发布到特定的Java 服务器返回HTTP响应代码:500,Android中带有HttpUrlConnection,java,android,httpurlconnection,Java,Android,Httpurlconnection,我正在使用以下代码将一些数据发布到特定的URL: import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; public class LookupPOST { public static void main(String[] args) throws Exception { String accountlookup = "<account>
URL
:
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
public class LookupPOST {
public static void main(String[] args) throws Exception
{
String accountlookup = "<account>"+
"<name>N*</name>"+
"<type></type>"+
"<accountaddress>"+
"<address></address>"+
"<state></state>"+
"<zip></zip>"+
"<city></city>"+
"<country></country>"+
"<county></county>"+
"</accountaddress>"+
"</account>";
URL url = new URL(" http://localhost:8080/Sfacgi/accounts/lookUpaccount");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("authenticate", "BBUSER1:BBUSER1");
connection.setRequestProperty("Content-Type", "application/xml");
connection.setRequestProperty("pinno", "2526121F96");
connection.setRequestProperty("appversion", "BBV15");
connection.setDoOutput(true);
connection.setInstanceFollowRedirects(false);
OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
writer.write(accountlookup);
writer.close();
if (connection.getResponseCode() == HttpURLConnection.HTTP_OK)
{
System.out.println(" Success ");
}
else
{
System.out.println("Server returned HTTP error code :"+connection.getResponseCode());
}
}}
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class LookupGet
{
public static void main(String[] args) throws Exception
{
try
{
URL url = new URL("http://localhost:8080/Sfacgi/accounts/lookUpaccount");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("authenticate", "BBUSER1:BBUSER1");
connection.setRequestProperty("Content-Type", "application/xml");
connection.setRequestProperty("pinno", "2526121F96");
connection.setRequestProperty("appversion", "BBV15");
connection.setDoOutput(true);
connection.setInstanceFollowRedirects(false);
int timeoutMs=500000;
connection.setConnectTimeout(timeoutMs);
connection.setReadTimeout(timeoutMs);
//InputStream is = url.openStream();
InputStream is1 = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is1));
String data;
while ((data = reader.readLine()) != null)
{
System.out.println(data);
}
reader.close();
}
catch(Exception e)
{
System.out.println(" Excpetion = " + e);
e.printStackTrace();
}
}}
我正在使用以下代码:
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
public class LookupPOST {
public static void main(String[] args) throws Exception
{
String accountlookup = "<account>"+
"<name>N*</name>"+
"<type></type>"+
"<accountaddress>"+
"<address></address>"+
"<state></state>"+
"<zip></zip>"+
"<city></city>"+
"<country></country>"+
"<county></county>"+
"</accountaddress>"+
"</account>";
URL url = new URL(" http://localhost:8080/Sfacgi/accounts/lookUpaccount");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("authenticate", "BBUSER1:BBUSER1");
connection.setRequestProperty("Content-Type", "application/xml");
connection.setRequestProperty("pinno", "2526121F96");
connection.setRequestProperty("appversion", "BBV15");
connection.setDoOutput(true);
connection.setInstanceFollowRedirects(false);
OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
writer.write(accountlookup);
writer.close();
if (connection.getResponseCode() == HttpURLConnection.HTTP_OK)
{
System.out.println(" Success ");
}
else
{
System.out.println("Server returned HTTP error code :"+connection.getResponseCode());
}
}}
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class LookupGet
{
public static void main(String[] args) throws Exception
{
try
{
URL url = new URL("http://localhost:8080/Sfacgi/accounts/lookUpaccount");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("authenticate", "BBUSER1:BBUSER1");
connection.setRequestProperty("Content-Type", "application/xml");
connection.setRequestProperty("pinno", "2526121F96");
connection.setRequestProperty("appversion", "BBV15");
connection.setDoOutput(true);
connection.setInstanceFollowRedirects(false);
int timeoutMs=500000;
connection.setConnectTimeout(timeoutMs);
connection.setReadTimeout(timeoutMs);
//InputStream is = url.openStream();
InputStream is1 = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is1));
String data;
while ((data = reader.readLine()) != null)
{
System.out.println(data);
}
reader.close();
}
catch(Exception e)
{
System.out.println(" Excpetion = " + e);
e.printStackTrace();
}
}}
有人能告诉我我的代码哪里错了吗?任何建议。通过查看您的代码,我认为您正在尝试从您的
localHost
如果要连接到本地主机,必须指定计算机的IP地址
比如说
URL url = new URL("http://IPAddressOfComputer/Sfacgi/accounts/lookUpaccount");
如果使用浏览器发送请求,会发生什么情况?GET请求一般有效吗?您使用的是本地主机url,如果无法连接,请先在设备浏览器上尝试该url。