Home > Blockchain >  HTTP request works in curl but fails with 503 in apps?
HTTP request works in curl but fails with 503 in apps?

Time:06-03

I am hosting an api on my phone at localhost, and when I adb shell into the device at try a curl command to the localhost it works. But when I try to do it in java or kotlin the server returns a 503 and a weird error message in html?

This is the curl command:

curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' http://127.0.0.1:8545

This is the html error page that I receive: Error Page

And this is the code:

 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 <html><head>
 <meta type="copyright" content="Copyright (C) 1996-2018 The Squid Software Foundation and contributors">
 <meta http-equiv="Content-Type" CONTENT="text/html; charset=utf-8">
 <title>ERROR: The requested URL could not be retrieved</title>
 <style type="text/css"><!-- 
  /*
  * Copyright (C) 1996-2018 The Squid Software Foundation and contributors
  *
  * Squid software is distributed under GPLv2  license and includes
  * contributions from numerous individuals and organizations.
  * Please see the COPYING and CONTRIBUTORS files for details.
  */
 
 /*
  Stylesheet for Squid Error pages
  Adapted from design by Free CSS Templates
  http://www.freecsstemplates.org
  Released for free under a Creative Commons Attribution 2.5 License
 */
 
 /* Page basics */
 * {
    font-family: verdana, sans-serif;
 }
 
 html body {
    margin: 0;
    padding: 0;
    background: #efefef;
    font-size: 12px;
    color: #1e1e1e;
 }
 
 /* Page displayed title area */
 #titles {
    margin-left: 15px;
    padding: 10px;
    padding-left: 100px;
    background: url('/squid-internal-static/icons/SN.png') no-repeat left;
 }
 
 /* initial title */
 #titles h1 {
    color: #000000;
 }
 #titles h2 {
    color: #000000;
 }
 
 /* special event: FTP success page titles */
 #titles ftpsuccess {
    background-color:#00ff00;
    width:100%;
 }
 
 /* Page displayed body content area */
 #content {
    padding: 10px;
    background: #ffffff;
 }
 
 /* General text */
 p {
 }
 
 /* error brief description */
 #error p {
 }
 
 /* some data which may have caused the problem */
 #data {
 }
 
 /* the error message received from the system or other software */
 #sysmsg {
 }
 
 pre {
 }
 
 /* special event: FTP / Gopher directory listing */
 #dirmsg {
     font-family: courier, monospace;
     color: black;
     font-size: 10pt;
 }
 #dirlisting {
     margin-left: 2%;
     margin-right: 2%;
 }
 #dirlisting tr.entry td.icon,td.filename,td.size,td.date {
     border-bottom: groove;
 }
 #dirlisting td.size {
     width: 50px;
     text-align: right;
     padding-right: 5px;
 }
 
 /* horizontal lines */
 hr {
    margin: 0;
 }
 
 /* page displayed footer area */
 #footer {
    font-size: 9px;
    padding-left: 10px;
 }
 
 
 body
 :lang(fa) { direction: rtl; font-size: 100%; font-family: Tahoma, Roya, sans-serif; float: right; }
 :lang(he) { direction: rtl; }
  --></style>
 </head><body id=ERR_CONNECT_FAIL>
 <div id="titles">
 <h1>ERROR</h1>
 <h2>The requested URL could not be retrieved</h2>
 </div>
 <hr>
 
 <div id="content">
 <p>The following error was encountered while trying to retrieve the URL: <a href="http://127.0.0.1:8545/">http://127.0.0.1:8545/</a></p>
 
 <blockquote id="error">
 <p><b>Connection to 127.0.0.1 failed.</b></p>
 </blockquote>
 
 <p id="sysmsg">The system returned: <i>(111) Connection refused</i></p>
 
 <p>The remote host or network may be down. Please try the request again.</p>
 
 <p>Your cache administrator is <a href="mailto:webmaster?subject=CacheErrorInfo - ERR_CONNECT_FAIL&amp;body=CacheHost: lxasmap001.at.inside
ErrPage: ERR_CONNECT_FAIL
Err: (111) Connection refused
TimeStamp: Wed, 01 Jun 2022 17:52:09 GMT

ClientIP: 10.52.113.145
ServerIP: 127.0.0.1

HTTP Request:
POST / HTTP/1.1
Content-Type: application/json
User-Agent: Dalvik/2.1.0 (Linux; U; Android 12; Pixel 3 Build/SP2A.220405.004)
Connection: Keep-Alive
Accept-Encoding: gzip
Content-Length: 67
Host: 127.0.0.1:8545


">webmaster</a>.</p>
 
 <br>
 </div>
 
 <hr>
 <div id="footer">
 <p>Generated Wed, 01 Jun 2022 17:52:09 GMT by lxasmap001.at.inside (squid/4.4)</p>
 <!-- ERR_CONNECT_FAIL -->
 </div>
 </body></html>

CodePudding user response:

To perform network operations in your application, your manifest must include the following permissions:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

See https://developer.android.com/training/basics/network-ops/connecting

CodePudding user response:

Have you added this IP in network_security_config.xml

https://developer.android.com/training/articles/security-config

  • Related