提问者:小点点

Android,HttpPost使用ip,而不是url


HttpClient client = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://simonexxx.no-ip.info/ilMercatinoDelxxx/ModificaArticolo?id=" + id);
//HttpPost httpPost = new HttpPost("http://151.xx.xx.247:8080/ilMercatinoDelxxx/ModificaArticolo?id=" + id);

HttpPost与IP(注释行)完美配合,但不写入相对url,这有什么可能的原因吗?

我可以通过两种方式使用浏览器访问资源。显然,xxx只是为了隐私。

我得到:

发送信号。PID: 15236 SIG: 3
threadid=3:对信号3作出反应< br >将堆栈跟踪写入'/data/anr/traces.txt'

这个日志应该简单地说我正在从UI活动访问互联网,这不应该这样做,好的。但是编写IP可以正常工作。


共3个答案

匿名用户

尝试以下行:

HttpPost httpPost = new HttpPost("http://simonexxx.no-ip.info:8080/ilMercatinoDelxxx/ModificaArticolo?id=" + id);

匿名用户

我认为问题出在端口上。通常DNS名称转换为IP地址并保留默认端口(80),除非您在DNS记录中定义了将请求转发到特定端口。现在,如果没有ip,看起来您使用的是免费帐户,并且没有这样的功能(在免费帐户中)来定义端口和IP地址以提供DNS名称。

因此,就您的情况而言,您需要将端口号与您的地址附加在一起,正如@Martin Maurer所提到的那样。

匿名用户

我猜问题来自于;android模拟器无法访问本地主机。不过解决方法很简单。

不使用http://localhost:...< br >您应该使用http://10.0.2.2:....< br >这使模拟器能够解析并调用本地主机上运行的任何服务