当前位置: 首页 > 知识库问答 >
问题:

爪哇。网UnknownHostException(无法解析主机“URL”:没有与主机名关联的地址)

双恩
2023-03-14

我正在开发一个用于测试asp的应用程序。android中的NetWebService。为此,我们使用了一个简单的Web服务来添加两个数字。其中数字作为参数传递。结果是进入对话。网络服务器在本地工作。当应用程序运行时,以下结果作为异常获取。我在清单中提供了互联网许可。

JAVA网UnknownHostException(无法解析主机)http://url.com/“:没有与主机名关联的地址)

我的代码如下

主要活动

    public static String rslt="";    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button b1=(Button)findViewById(R.id.button1);
        final  AlertDialog ad=new AlertDialog.Builder(this).create();

        b1.setOnClickListener(new OnClickListener() {

            @Override public void onClick(View arg0) {
            // TODO Auto-generated method stub 

            try
            { 
                EditText ed1=(EditText)findViewById(R.id.editText1);
                EditText ed2=(EditText)findViewById(R.id.editText2); 
                int a=Integer.parseInt(ed1.getText().toString());
                int b=Integer.parseInt(ed2.getText().toString());
                rslt="START";
                Caller c=new Caller();
                c.a=a;
                c.b=b;
//                c.ad=ad;
                c.join();
                c.start();
                while(rslt=="START") {
                    try {
                        Thread.sleep(10); 
                    }catch(Exception ex) {
                    }
                }
                ad.setTitle("RESULT OF ADD of "+a+" and "+b);
                ad.setMessage(rslt); 
            }catch(Exception ex) {
                ad.setTitle("Error!"); ad.setMessage(ex.toString());
            }
            ad.show(); 
        } });
    }
}

呼叫者JAVA

public class Caller extends Thread {
    public CallSoap cs;
    public int a, b;

    public void run() {
        try {
            cs = new CallSoap();
            String resp = cs.Call(a, b);
            MainActivity.rslt = resp;
        } catch (Exception ex) {
            MainActivity.rslt = ex.toString();
        }
    }
}

肥皂。JAVA

public class CallSoap 
{
public final String SOAP_ACTION = "http://tempuri.org/Add";

public  final String OPERATION_NAME = "Add"; 

public  final String WSDL_TARGET_NAMESPACE = "http://tempuri.org/";

public  final String SOAP_ADDRESS = "url";
public CallSoap() 
{ 
}
public String Call(int a,int b)
{
SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE,OPERATION_NAME);
PropertyInfo pi=new PropertyInfo();
pi.setName("a");
        pi.setValue(a);
        pi.setType(Integer.class);
        request.addProperty(pi);
        pi=new PropertyInfo();
        pi.setName("b");
        pi.setValue(b);
        pi.setType(Integer.class);
        request.addProperty(pi);

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = true;

envelope.setOutputSoapObject(request);

HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS);
Object response=null;
try
{
httpTransport.call(SOAP_ACTION+OPERATION_NAME, envelope);
response = envelope.getResponse();
}
catch (Exception exception)
{
response=exception.toString();
}
return response.toString();
}

请帮帮我。提前谢谢。

共有1个答案

阎昌勋
2023-03-14

我认为您正在模拟器中测试它。由于该服务位于真实的服务器中,我更喜欢使用真实的设备。此外,使用emulator也可以。但一些模拟器在真实的web服务中表现出奇怪的行为。尝试使用不同的模拟器,最好是新创建的。

 类似资料:
  • 当来自后台服务和移动屏幕的API调用关闭时。出现以下错误。 java.net.无法解析主机:没有与主机名相关联的地址W/System.err:在java.net.InetAddress.lookupHostByName(InetAddress.java:424)在java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)在java.net

  • 我有一个web服务调用来关闭一个JSON对象,它只有在我有IP地址而不是主机名的情况下才起作用。我一直很好地使用IP地址,但现在我需要有主机名。 如果有人有好主意,谢谢。

  • 问题内容: 在我的用于读取RSS链接的Android应用程序中,出现此错误: java.net.UnknownHostException:无法解析主机“ example.com”;没有与主机名关联的地址。 在模拟器中,我可以通过浏览器连接到Google。请帮助我解决此问题。 问题答案: 您可能没有权限。尝试将它添加到您的文件中: 注:以上不 必须 的前右侧的标签,但这是把它的好/正确的位置。 注意

  • 当我尝试在android应用程序上按主机名获取ip时,我遇到了一个类似的奇怪错误。 类似的问题在IOs上返回的结果是whitout problems,但我的应用程序android没有返回任何东西。 我创建这些函数来测试我的应用程序: 但是类似的代码,在IOs上,如果我搜索我自己托管的服务器,会返回一个有效的结果,但是在android上搜索相同的页面或服务器时,结果会给我一个“无法解析主机”的警告。

  • 我有一个Android应用程序,我通过Retrofit2/OkHttp向api发送超文本传输协议请求。两周内一切正常。2天前我的网站被暂停。今天重新开放。一些用户开始出现错误消息。用户说“无法登录应用程序!”。当我检查日志时,我看到了这样的东西; 一些用户仍然可以登录到该应用程序。我搞不懂。 我怎样才能马上解决这个问题?

  • 如何处理这个崩溃?我没有任何文件Dns.kt在我的项目,得到随机用户崩溃。 无法解析主机"maps.googleapis.com":没有与主机名相关联的地址java.net.Inet6AddressImpl.lookupHostByName 由Android系统引起的。系统。GaiException android_getaddrinfo失败:EAI_NODATA(没有与主机名关联的地址)okht